Digital HVAC controller with carousel screens

In some examples, a device can control one or more heating, ventilation, and air conditioning (HVAC) components within a building and control a digital user interface. The device includes a dial, the digital user interface, and processing circuitry. The processing circuitry is configured to scroll, in response to detecting a set of user inputs to one or both of the digital user interface and the dial, through a sequence of carousel screens for display on the digital user interface and display, on the digital user interface after a period of time following a most recent user input of the set of user inputs, a default carousel screen of the sequence of carousel screens. Additionally, the processing circuitry is configured to display, on the digital user interface, an idle screen corresponding to the default carousel screen of the sequence of carousel screens.

TECHNICAL FIELD

The disclosure relates to heating, ventilation, and air condition (HVAC) systems and thermostats for buildings.

BACKGROUND

A heating, ventilation, and air conditioning (HVAC) controller can control a variety of devices such as a furnace, a heat pump including a geothermal heat pump, a boiler, air conditioning unit, forced air circulation, and other similar equipment to control the internal climate conditions of a building. In some examples, a thermostat can control different devices depending on the outside temperature, temperature inside the building, the time of day, and other factors. To simplify the explanation, an environmental control system will be referred to as an HVAC system, unless otherwise noted.

SUMMARY

In general, this disclosure describes a heating, ventilation, and air conditioning (HVAC) controller including a display which can show any one or combination of a set point temperature for an area, a current temperature of the area, and one or more other parameters. The HVAC controller may include a user interface including a digital display configured to show one or more screens of a first set of screens. The first set of screens may represent a sequence of “carousel” screens, such that when the HVAC controller transitions from displaying a first screen to a second screen on the digital display, the HVAC controller transitions from the first screen to a screen which is adjacent to the first screen in the first set of screens.

In some examples, the HVAC controller may change the screen shown on the digital display in response to one or more user inputs to the digital user interface. These one or more user inputs may represent “swipes” on the digital user interface. In some examples, the HVAC controller may change the screen shown on the digital display in response to a rotation of a dial on the HVAC controller. In this way, the HVAC controller may change the screens based on two or more types of inputs, which is beneficial to improve a user experience with the HVAC controller as compared with HVAC controllers which do not update displayed data based on two or more types of inputs.

Each screen of the first set of screens may be associated with one or more screens of a second set of screens. The second set of screens may represent “details” screens which include at least some information not displayed on carousel screens. For example, each details screen that is associated with a carousel screen may include additional information corresponding to the respective carousel screen which is not included in the carousel screen itself. In this way, the screens displayed by the HVAC controller may represent a hierarchy of screens, such that it is possible to scroll laterally through the first set of screens and also move vertically between the first set of screens and corresponding screens of the second set of screens. It may be beneficial for the HVAC controller to change the screen displayed by the digital display both vertically and laterally so that information displayed by the HVAC controller is more easily navigable as compared with HVAC controllers which do not allow a change in display both laterally and vertically.

In some examples, a device for controlling one or more HVAC components within a building includes a rotatable dial, a digital user interface, and processing circuitry. The processing circuitry is configured to, in response to receiving a first rotation input via the rotatable dial while the digital user interface displays a first screen, cause a setpoint of the device to change in order to regulate a temperature within the building. In response to receiving a first touch input at the digital user interface while the digital user interface displays the first screen, the processing circuitry is configured to cause a menu of options being displayed on the digital user interface to change. In response to receiving a second rotation input via the rotatable dial while the digital user interface displays a second screen, the processing circuitry is configured to cause a selection being displayed on the digital user interface to change, and in response to receiving a second touch input via the digital user interface while the digital user interface displays the second screen, the processing circuitry is configured to cause the selection being displayed on the digital user interface to change.

In some examples, a method for controlling one or more HVAC components within a building includes, in response to receiving a first rotation input via a rotatable dial while a digital user interface displays a first screen, causing, by processing circuitry, a setpoint of the device to change. The method further includes, in response to receiving a first touch input at the digital user interface while the digital user interface displays the first screen, causing, by the processing circuitry, a menu of options to be displayed on the digital user interface to change. Additionally, the method includes, in response to receiving a second rotation input via the rotatable dial while the digital user interface displays a second screen, causing, by the processing circuitry, a selection being displayed on digital user interface to change and in response to receiving a second touch input via the digital user interface while the digital user interface displays the second screen, causing, by the processing circuitry, the selection being displayed on the digital user interface to change.

In some examples, a non-transitory computer-readable medium includes instructions for causing one or more processors of a device for controlling one or more HVAC components within a building to, in response to receiving a first rotation input via a rotatable dial while a digital user interface displays a first screen, cause a setpoint of the device to change, and in response to receiving a first touch input at the digital user interface while the digital user interface displays the first screen, cause a menu of options to be displayed on the digital user interface to change. Additionally, the instructions cause the one or more processors to, in response to receiving a second rotation input via the rotatable dial while the digital user interface displays a second screen, cause a selection being displayed on the digital user interface to change, and in response to receiving a second touch input via the digital user interface while the digital user interface displays the second screen, cause the selection being displayed on the digital user interface to change.

In some examples, a device for controlling one or more HVAC components within a building and controlling a digital user interface includes a dial, the digital user interface, and processing circuitry. The processing circuitry is configured to scroll, in response to detecting a set of user inputs to one or both of the digital user interface and the dial, through a sequence of carousel screens for display on the digital user interface and display, on the digital user interface after a period of time following a most recent user input of the set of user inputs, a default carousel screen of the sequence of carousel screens. Additionally, the processing circuitry is configured to display, on the digital user interface after a period of time following the display of the default carousel screen, an idle screen corresponding to the default carousel screen of the sequence of carousel screens.

In some examples, a method for controlling a digital user interface of a device configured to control one or more HVAC components within a building includes scrolling, by processing circuitry in response to detecting a set of user inputs to one or both of the digital user interface and a dial, through a sequence of carousel screens for display on the digital user interface and displaying, by the processing circuitry on the digital user interface after a period of time following a most recent user input of the set of user inputs, a default carousel screen of the sequence of carousel screens. Additionally, the method includes displaying, by the processing circuitry on the digital user interface after a period of time following the display of the default carousel screen, an idle screen corresponding to the default carousel screen of the sequence of carousel screens.

In some examples, a non-transitory computer-readable medium includes instructions for causing one or more processors of a device for controlling one or more HVAC components within a building and controlling a digital user interface to scroll, in response to detecting a set of user inputs to one or both of the digital user interface and a dial, through a sequence of carousel screens for display on the digital user interface and display, on the digital user interface after a period of time following a most recent user input of the set of user inputs, a default carousel screen of the sequence of carousel screens. Additionally, the instructions cause the one or more processors to display, on the digital user interface after a period of time following the display of the default carousel screen, an idle screen corresponding to the default carousel screen of the sequence of carousel screens.

The summary is intended to provide an overview of the subject matter described in this disclosure. It is not intended to provide an exclusive or exhaustive explanation of the systems, device, and methods described in detail within the accompanying drawings and description below. Further details of one or more examples of this disclosure are set forth in the accompanying drawings and in the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.

DETAILED DESCRIPTION

FIG. 1is a block diagram illustrating an example heating, ventilation, and air conditioning (HVAC) system10in a building12, in accordance with one or more techniques described herein. HVAC system10includes HVAC component(s)16, a supply air duct20, a return air duct22(collectively, “ducts20,22”), dampers24, and air filters26. Additionally, HVAC system10includes an HVAC controller30configured to control HVAC component(s)16to regulate one or more parameters within building12. HVAC controller30may include a dial32and a digital user interface34.

HVAC system10may include one or more devices for regulating an environment within building12. For example, HVAC controller30may be configured to control the comfort level (e.g., temperature and/or humidity) in building12by activating and deactivating HVAC component(s)16in a controlled manner. HVAC controller30may be configured to control HVAC component(s)16via a wired or wireless communication link42. In some examples, a wired communication link42may connect HVAC component(s)16and HVAC controller30. HVAC controller30may be a thermostat, such as, for example, a wall mountable thermostat. In some examples, HVAC controller30may be programmable to allow for user-defined temperature set points to control the temperature of building12. Based on sensed temperature of building12, HVAC controller30may turn on HVAC component(s)16or turn off HVAC component(s)16in order to reach the user-defined temperature set point. Although this disclosure describes HVAC controller30(and controllers shown in other figures) as controlling HVAC component(s)16, external computing device40may also be configured to perform these functions. The techniques of this disclosure will primarily be described using examples related to temperature, but the systems, devices, and methods described herein may also be used in conjunction with other sensed properties, such as humidity or air quality. In some examples, HVAC controller30may be configured to control all of the critical networks of a building, including a security system.

HVAC component(s)16may provide heated air (and/or cooled air) via the ductwork throughout the building12. As illustrated, HVAC component(s)16may be in fluid communication with one or more spaces, rooms, and/or zones in building12via ducts20,22, but this is not required. In operation, when HVAC controller30outputs a heat call signal to HVAC component(s)16, HVAC component(s)16(e.g., a forced warm air furnace) may turn on (begin operating or activate) to supply heated air to one or more spaces within building12via supply air ducts20. HVAC component(s)16, which include an air movement device18(e.g., a blower or a fan), can force the heated air through supply air duct20. In this example, cooler air from each space returns to HVAC component(s)16(e.g. forced warm air furnace) for heating via return air ducts22. Similarly, when a cool call signal is provided by HVAC controller30, a cooling device (e.g., an air conditioning (AC) unit) of HVAC component(s)16may turn on to supply cooled air to one or more spaces within building12via supply air ducts20. Air movement device18may force the cooled air through supply air duct20. In this example, warmer air from each space of building12may return to HVAC component(s)16for cooling via return air ducts22.

In some examples, HVAC component(s)16may include any one or combination of a fan, a blower, a furnace, a heat pump, an electric heat pump, a geothermal heat pump, an electric heating unit, an AC unit, a humidifier, a dehumidifier, an air exchanger, an air cleaner, a damper, a valve, and a fan, however this is not required. HVAC component(s)16may include any device or group of devices which contributes to regulating the environment within building12based on signals received from HVAC controller30or contributes to regulating the environment within building12independently from HVAC controller30.

Ducts20,22may include one or more dampers24to regulate the flow of air, but this is not required. For example, one or more dampers24may be coupled to HVAC controller30and can be coordinated with the operation of HVAC component(s)16. HVAC controller30may actuate dampers24to an open position, a closed position, and/or a partially open position to modulate the flow of air from the one or more HVAC components to an appropriate room and/or space in building12. Dampers24may be particularly useful in zoned HVAC systems, and may be used to control which space(s) in building12receive conditioned air and/or receives how much conditioned air from HVAC component(s)16.

In many instances, air filters26may be used to remove dust and other pollutants from the air inside building12. In the example shown inFIG. 1, air filters26is installed in return air duct22and may filter the air prior to the air entering HVAC component(s)16, but it is contemplated that any other suitable location for air filters26may be used. The presence of air filters26may not only improve the indoor air quality but may also protect the HVAC component(s)16from dust and other particulate matter that would otherwise be permitted to enter HVAC component(s)16.

HVAC controller30may include any suitable arrangement of hardware, software, firmware, or any combination thereof. For example, HVAC controller30may include processing circuitry comprising microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or equivalent discrete or integrated logic circuitry, or a combination of any of the foregoing devices or circuitry. Accordingly, the processing circuitry may include any suitable structure, whether in hardware, software, firmware, or any combination thereof, to perform the functions ascribed herein to HVAC controller30.

Although not shown inFIG. 1, HVAC controller30may include a memory configured to store information within HVAC controller30during operation. The memory may include a computer-readable storage medium or computer-readable storage device. In some examples, the memory includes one or more of a short-term memory or a long-term memory. The memory may include, for example, random access memories (RAM), dynamic random access memories (DRAM), static random access memories (SRAM), magnetic discs, optical discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable memories (EEPROM). In some examples, the memory is used to store program instructions for execution by the processing circuitry of HVAC controller30. In some examples, the memory of HVAC controller30may be able to store data to and read data from memory included in external computing device40and/or memory included in external database48. The memory may be used for storing network settings such as an Internet Protocol (IP) address and/or a Media Access Control (MAC) address of HVAC controller30, external computing device40, and/or a router.

In some examples, HVAC controller30may include a set of wire terminals which make up a terminal block (e.g., a wall plate or a terminal plate) for receiving a set of control wires for one or more HVAC component(s)16of HVAC system10. The memory of HVAC controller30may store one or more wiring configurations for HVAC component(s)16, allowing HVAC controller30to determine which of HVAC component(s)16are connected to HVAC controller30. The memory of HVAC controller30may also store settings for HVAC system10which correspond to the one or more wiring configurations for HVAC component(s)16. For example, if HVAC controller30is wired to an AC unit of HVAC component(s)16, HVAC controller30may determine one or more settings for controlling the AC unit to turn on and turn off.

In some examples, the memory of HVAC controller30may store program instructions, which may include one or more program modules, which are executable by HVAC controller30. When executed by HVAC controller30, such program instructions may cause HVAC controller30to provide the functionality ascribed to it herein. The program instructions may be embodied in software, firmware, and/or RAMware.

In some examples, HVAC controller30may include a dial32which is located at an outer circumference of HVAC controller30. HVAC controller30may be fixed to a wall or another surface such that dial32may be rotated relative to one or more other components (e.g., digital user interface34) of HVAC controller30. Dial32may represent a user interface such that processing circuitry of HVAC controller30may receive, dial32and/or dial circuitry electrically connected to dial32, information indicative of a user input. In some examples, the user input may represent a user selection of a set point parameter value (e.g., a set point temperature), a user selection of information to be displayed by HVAC controller30, or a user selection of another setting. In some examples, dial32may smoothly rotate with respect to digital user interface34. In some examples, dial32may rotate with one or more steps such that as dial32rotates, dial32“snaps” into position after every interval of rotational distance. In some examples, dial32may smoothly rotate with respect to digital user interface34and HVAC controller30may output an audio signal (e.g., a clicking noise) for every interval of rotational position (e.g., every one degree) in which dial32rotates.

In some examples, dial32does not move inwards in response to a force applied to dial32. For example, dial32may rotate about a center axis which passes through a center of dial32without moving along the center axis in response to one or more forces applied to dial32. When HVAC controller30is mounted on a vertical surface such as a wall, HVAC controller30may prevent dial32from depressing inwards towards the vertical surface while allowing the dial32to rotate.

In some examples, dial32may include a set of light-emitting diodes (LEDs) configured to illuminate a portion or a whole of dial32, but this is not required. The processing circuitry of HVAC controller30may selectively illuminate one or more LEDs of the set of LEDs in order to indicate a set point temperature or convey other information. In some examples, the set of LEDs included in dial32may illuminate dial32to indicate that HVAC system10is in a heating mode or indicate that HVAC system10is in a cooling mode. For example, when HVAC system10is in a heating mode (e.g., HVAC controller30is outputting one or more instructions for HVAC component(s)16to increase a temperature within building12), the LEDs of dial32cause dial32to illuminate at a first color. When HVAC system10is in a cooling mode (e.g., HVAC controller30is outputting one or more instructions for HVAC component(s)16to decrease a temperature within building12), the LEDs of dial32cause dial32to illuminate at a second color. In this way, the LEDs of dial32may indicate whether HVAC system10is operating in the heating mode or the cooling mode.

Digital user interface34may include information relating to one or more aspects of an area in which HVAC controller30is located (e.g., a room in which HVAC controller30is located, a building in which HVAC controller30is located, an area outside of a building in which HVAC controller30is located, or any combination thereof). Digital user interface34may be round in shape and digital user interface34may be located an area within a circumference of dial32such that edges of dial32are visible around an outer circumference of digital user interface34. At least part of dial32and digital user interface34may represent an outer surface of HVAC controller30, allowing dial32and digital user interface34to receive user input.

In some examples, at least a portion of digital user interface34includes a digital display. The digital display may represent a user interface which permits a user to input various operating parameters (e.g., temperature set points, humidity set points, fan set points, starting times, ending times, schedule times, diagnostic limits, configuration settings, responses to alerts, and instructions to change a screen) to HVAC controller30. In some examples, digital user interface34may represent a physical user interface that is accessible at HVAC controller30and may include a touch screen (e.g., a full color touch screen display) and/or a distinct keypad. The digital display of digital user interface34may include any suitable display. In some examples, digital user interface34may include any one or combination of a liquid crystal display (LCD), an e-ink display, fixed segment display, or a dot matrix LCD display. In one or more examples where digital user interface34includes a distinct keypad, the distinct keypad may include a numerical keypad, a system of buttons, a control knob, or any combination thereof. HVAC controller30may, in some cases, display information and/or accept user inputs via the user interface of external computing device40.

A user may interact with HVAC controller30through a mobile phone, a tablet, a computer, or another device. For example, user devices8A-8N (collectively, “user devices8”) may communicate with HVAC controller30via network6. HVAC controller30may, in some examples, be configured to communicate directly with network6without communicating with network6via a gateway device (e.g., a Wi-Fi router) within building12. In some examples, HVAC controller30may receive instructions from one or more of user devices8. The instructions may include, for example, a request to change a set point temperature for an area within building12. HVAC controller30may change the set point temperature in response to receiving the instruction. In turn, HVAC controller30may control HVAC component(s)16to control the temperature within building12to reach the new set point.

In some examples, digital user interface34may include a presence sensitive device to detect user inputs to HVAC controller30. Example presence-sensitive input displays include a resistive touchscreen, a surface acoustic wave touchscreen, a capacitive touchscreen, a projective capacitance touchscreen, a pressure sensitive screen, an acoustic pulse recognition touchscreen, or another presence-sensitive display technology. Digital user interface34of HVAC controller30may function as an output device using any one or more display devices, such as a liquid crystal display (LCD), dot matrix display, light emitting diode (LED) display, organic light-emitting diode (OLED) display, e-ink, or similar monochrome or color display capable of outputting visible information to a user. The user interface presented by the display of HVAC controller30may allow a user to program settings of HVAC controller30, set temperature zones for building12, configure desired temperatures for building12for different times of the day or days of the week, or other operating parameters. Digital user interface34of HVAC controller30may also be used to present user queries (e.g., what room HVAC controller30is installed in, what the address of building12is, what HVAC component(s)16are connected to HVAC controller30, etc.). Such queries may aid in installing and/or configuring HVAC controller30(e.g. when first connecting HVAC controller30to HVAC component(s)16of HVAC system10).

In some examples, digital user interface34may be configured to display any one of a plurality of screens, wherein each screen of the plurality of screens is related to a specific one or more parameters or one or more topics corresponding to the building in which HVAC controller is placed. For example, the plurality of screens may include one or more time and outdoor temperature screens, one or more inside temperature screens, one or more air quality screens, one or more water usage screens, one or more energy usage screens, and one or more security screens, however this is not required. Additionally, or alternatively, the plurality of screens may include other types of screens. In some examples, the processing circuitry of HVAC controller30may receive a signal or a sequence of signals indicative of a user selection of a screen of the plurality of screens for display by HVAC controller30. For example, HVAC controller30may allow the set of screens to be scrolled across digital user interface34.

In some examples, the plurality of screens may include a first set of screens which represent a set of carousel screens. As described herein, the “set of carousel screens” refer to a set of screens which are arranged in a sequence of carousel screens, each carousel screen of the sequence of carousel screens being associated with a respective theme of a set of themes. The set of themes may include an indoor temperature theme, an outdoor temperature theme, an air quality theme, a water consumption theme, an energy consumption theme, and a security theme, or any combination thereof. Additionally, or alternatively, the set of themes may include one or more other themes.

When digital user interface34shows a carousel screen corresponding to the air quality theme, for example, digital user interface34may display information relating to an air quality within building12or outside of building12. For example, digital user interface34may display an air quality value within building12, wherein the air quality value is measured by an air quality sensor which is configured to communicate with HVAC controller30or located within HVAC controller30. While digital user interface34displays the carousel screen corresponding to the air quality theme, however, digital user interface34might not display information corresponding to other themes, such as temperature or security, as examples.

At a point in time, HVAC controller30may display a carousel screen of the set of carousel screens on digital user interface34. HVAC controller30may be configured to transition the carousel screen displayed on the digital user interface34by cycling through the sequence of carousel screens. Since the sequence of carousel screens is arranged in an order, HVAC controller30may be configured to cycle forwards and/or backwards through the sequence of carousel screens.

In some examples, the plurality of screens compatible for display by user interface34may also include a second set of screens representing a set of details screens, and a third set of screens representing a set of idle screens. As described herein, the “set of details screens” may include at least some information which is not included by the set of carousel screens. For example, each details screen that is associated with a carousel screen may include additional information corresponding to the respective carousel screen which is not included in the carousel screen itself. In this way, a details screen corresponding to a carousel screen may be associated with the same theme as the respective carousel screen.

In some examples, the plurality of screens compatible for display by user interface34may also include a third set of screens representing a set of idle screens. As described herein, the “set of idle screens” may represent one or more screens displayed by user interface34while HVAC controller30is operating in an idle state. Each idle screen of the set of idle screens may correspond to a respective carousel screen of the set of carousel screens. In some examples, each idle screen of the set of idles screens may be associated with a same theme of a corresponding carousel screen of the set of carousel screens.

In some examples, when a period of time elapses since a most recent user input is received by HVAC controller30, HVAC controller30may enter an idle state. When HVAC controller30is in the idle state, the processing circuitry of HVAC controller30may output an idle screen for display by digital user interface34. In some examples, the idle screen may include a set point temperature for an area within building12and/or a current temperature of the area within building12, but this is not required. In some examples, HVAC controller30may select the idle screen based on user input received by HVAC controller30. In some examples, HVAC controller30may select the idle screen based on information received from network6. In any case, when the period of time elapses since HVAC controller30receives the most recent user input, HVAC controller30may enter the idle state and display the idle screen on digital user interface34.

In some examples, responsive to detecting a rotation of dial32while HVAC controller30is in the idle state, HVAC controller30transitions out of the idle state to a temperature set point mode. HVAC controller30may change a temperature set point for an area within building12in response to detecting the rotation of dial32. In other words, HVAC controller30may determine that a rotation of dial32while HVAC controller30is in the idle state represents a user request to change a temperature set point. In transitioning out of the idle state, the processing circuitry of HVAC controller30may display the temperature set point for the area within building12on digital user interface34. Additionally, HVAC controller30may display the temperature set point changing as dial32rotates. For example, the digital user interface34may show the temperature setpoint cycle through a range of degrees, where each change from one degree to another degree is reflected on digital user interface34. In some examples, HVAC controller30may emit a noise each time the temperature set point changes from one degree value to another degree value. The noise may represent a clicking noise a, a tapping noise, or another type of noise.

HVAC controller30may be configured to perform one or more other actions in response to a rotation of dial32in addition to changing the temperature set point or alternatively to changing the temperature set point. For example, digital user interface34may receive a touch input which causes HVAC controller30to transition from a temperature set point mode to a display screen mode. When HVAC controller30transitions to the display screen mode, HVAC controller30may change a screen displayed on digital user interface34in response to detecting a rotation of dial32. For example, digital user interface34may display one or more of the set of carousel screens. As discussed above, the set of carousel screens represent a sequence of carousel screens, such that a change from one carousel screen to another carousel screen represents a change to an adjacent carousel screen of the sequence of carousel screens. In some examples, when dial32stops rotating, HVAC controller30may continue to display a carousel screen of the set of carousel screens displayed by digital user interface34at the time in which dial32stops rotating.

Additionally, or alternatively, HVAC controller30may be configured to change the carousel screen displayed by digital user interface34in response to one or more touch inputs to digital user interface34when HVAC controller is in the display screen mode. For example, the processing circuitry of HVAC controller30may detect a “swipe” input to digital user interface34. In response to detecting the swipe input, HVAC controller30may transition digital user interface34from displaying a first carousel screen to a second carousel screen, where the first carousel screen and the second carousel screen are adjacent in the sequence of carousel screens. In this way, HVAC controller30may be configured to change the screen displayed on digital user interface34based on one or both of a rotation of dial32and a touch input to digital user interface34.

It may be beneficial for HVAC controller30to have the ability to change the carousel screen based on one or both of the rotation of dial32and a touch input to digital user interface34, so that a user interaction with HVAC controller30is improved as compared with HVAC controllers that do not allow display change based on more than one type of user input. In other words, by transitioning HVAC controller30from a set point mode where a temperature set point is changed responsive to a rotation of dial32to a display screen mode where the screen displayed by digital user interface34is changed responsive to a rotation of dial32and/or a touch input to digital user interface34, HVAC controller30may provide a user with an efficient user experience.

HVAC controller30may include a communication device (not illustrated inFIG. 1) to allow HVAC controller30to communicate via a wired or wireless connection44to external computing device40. The communication device may include a Bluetooth transmitter and receiver, a Wi-Fi transmitter and receiver, a Zigbee transceiver, a near-field communication transceiver, or other circuitry configured to allow HVAC controller30to communicate with external computing device40. In some examples, the communication device may allow HVAC controller30to exchange data with external computing device40. Examples of exchanged data include a desired temperature for building12, HVAC component(s)16connected to HVAC controller30, error codes, geographic location, estimated energy usage and cost, and/or other operating parameters or system performance characteristics for HVAC system10.

HVAC controller30may communicate via wired or wireless connection44with external computing device40. External computing device40may be, include, or otherwise be used in combination with a mobile phone, smartphone, tablet computer, personal computer, desktop computer, personal digital assistant, router, modem, remote server or cloud computing device, and/or related device allowing HVAC controller30to communicate over a communication network such as, for example, the Internet or other wired or wireless connection. Communicating via the wired or wireless connection44may allow HVAC controller30to be configured, controlled, or otherwise exchange data with external computing device40. In some examples, HVAC controller30communicating via wired or wireless connection44may allow a user to set up HVAC controller30when first installing the controller in building12. In some examples, HVAC controller30and external computing device40communicate through a wireless network device such as a router or a switch. In other examples, HVAC controller30and external computing device40communicate through a wired connection such as an ethernet port, USB connection, or other wired communication network.

HVAC controller30may, via the communication device, communicate via a wired or wireless connection46with external database48. In some examples, wired or wireless connection46enables HVAC controller30to communicate with external database48via a wireless connection which includes a network device such as a router, ethernet port, or switch. HVAC controller30and external database48may also communicate through a wired connection such as an ethernet port, USB connection, or other wired communication network. Communicating via the wired or wireless connection46may allow HVAC controller30to exchange data with external database48. As such, external database48may be at a location outside of building12. In some examples, external database48may be, include, or otherwise be used in combination with a remote server, cloud computing device, or network of controllers configured to communicate with each other. For example, HVAC controller30may receive data from HVAC controllers in nearby buildings through the internet or other city- or wide-area network. HVAC controller30may include the onboard database because it is unable to communicate via the communication device.

In some examples, external database48may be, or otherwise be included in, or accessed via, external computing device40(e.g., smartphone, mobile phone, tablet computer, personal computer, etc.). For example, HVAC controller30may communicate via a Wi-Fi network connection with a smartphone device to exchange data with external database48. By communicating via wired or wireless connection46, HVAC controller30may exchange data with external database48.

In some examples, HVAC controller30may display a setpoint as a bright white light at moving around a perimeter of HVAC controller30. As dial32rotates, the light may move with dial32to show a selected setpoint. If the setpoint is changed via a mobile application on one or more of user devices8, the light may move on HVAC controller30to show the selected setpoint. An application of one of user devices8may enable a user to view one or more aspects of HVAC controller30.

In some examples, if a Buoy water valve is installed, HVAC controller30may receive details on water usage and leak status. In some examples, if a security system is installed, HVAC controller30may control the security system.

FIG. 2is a block diagram illustrating an example configuration of the HVAC controller30ofFIG. 1, in accordance with one or more techniques described herein. As seen inFIG. 2, HVAC controller30includes dial32, digital user interface34, processing circuitry52, memory54, communication circuitry56, sensor(s)58, and terminal62. Sensor(s)58may, in some examples, include a temperature sensor60. HVAC controller30may be configured to communicate with HVAC component(s)16via terminal62and/or communicate with user devices8via network6.

HVAC controller30may be configured to control HVAC component(s)16in order to regulate one or more parameters of a space (e.g., a building, one or more rooms within a building, a large vehicle, or a vessel). In some examples, HVAC controller30regulates a temperature within the space. HVAC controller30may regulate the temperature of the space by using HVAC component(s)16to decrease a temperature of the space if the current temperature of the space is greater than a first set point temperature and/or increase a temperature of the space using HVAC component(s)16if the current temperature of the space is less than a second set point temperature. In some examples, the first set point temperature (e.g., a cooling set point temperature) is less than the second set point temperature (e.g., a heating set point temperature). In some examples, the first set point temperature is equal to the second set point temperature.

Processing circuitry52may include microprocessors, DSPs, ASICs, FPGAs, or equivalent discrete or integrated logic circuitry, or a combination of any of the foregoing devices or circuitry. Accordingly, processing circuitry52may include any suitable structure, whether in hardware, software, firmware, or any combination thereof, to perform the functions ascribed herein to HVAC controller30.

In some examples, memory54includes a computer-readable storage medium or computer-readable storage device. In some examples, memory54includes one or more of a short-term memory or a long-term memory. Memory54may include, for example, RAM, DRAM, SRAM, magnetic discs, optical discs, flash memories, or forms of EPROM or EEPROM. In some examples, memory54is used to store program instructions for execution by the processing circuitry of HVAC controller30. In some examples, the memory of HVAC controller30may be able to store data to and read data from memory included in external computing device40and/or memory included in external database48. The memory may be used for storing network settings such as an Internet Protocol (IP) address and/or a Media Access Control (MAC) address of HVAC controller30, external computing device40, and/or a router.

Communication circuitry56may include any suitable hardware, firmware, software or any combination thereof for communicating with another device, such as user devices8or other devices. Under the control of processing circuitry52, communication circuitry56may receive downlink telemetry from, as well as send uplink telemetry to, one of user devices8or another device with the aid of an internal or external antenna. Communication circuitry56may include a Bluetooth transmitter and receiver, a Wi-Fi transmitter and receiver, a Zigbee transceiver, a near-field communication transceiver, or other circuitry configured to allow HVAC controller30to communicate with one or more remote devices such as user devices8. In some examples, communication circuitry56may allow HVAC controller30to exchange data with external computing device40ofFIG. 1. Examples of exchanged data include a desired temperature for the space, one or more control parameters for HVAC component(s)16, error codes, geographic location, estimated energy usage and cost, and/or other operating parameters or system performance characteristics for HVAC component(s)16.

In some examples, HVAC controller30includes one or more sensor(s)58including temperature sensor60. In some examples, temperature sensor60is located within a housing of HVAC controller30. In some examples, temperature sensor60is located remotely from HVAC controller30and may communicate with HVAC controller30via communication circuitry56or terminal62. For example, temperature sensor60may be located in the same room or the same area as HVAC controller30while being separate from HVAC controller30such that heat generated from components of HVAC controller30does not affect a temperature signal generated by temperature sensor60. It may be beneficial for temperature sensor60to be located separately from HVAC controller30in order to obtain an accurate temperature reading. In some examples where temperature sensor60is located within the housing of HVAC controller30, HVAC controller30may prevent components from affecting a temperature signal generated by temperature sensor60. In some examples, at least a portion of the housing of HVAC controller30may include stainless steel and the housing may be coated with a material which hides fingerprints. In some examples, the term “housing” may be used herein to describe an outer surface of HVAC controller30, including on outer surface of dial32, an outer surface of digital user interface34, and an outer face of HVAC controller30which is fixed to a wall or another surface.

In some examples, a housing of HVAC controller30may be substantially cylindrical in shape and dial32may represent a ring-shaped piece that is located at an outer circumference of HVAC controller30. In some examples, HVAC controller30includes a first face configured to be mounted on a plate which is fixed to a wall or another surface, a second face including a display, and a third face representing a side of HVAC controller30, the third face extending around a circumference of HVAC controller30. Dial32may include the third face of HVAC controller30. In some examples, dial32is configured to rotate with respect to one or more other components of HVAC controller30. For example, dial32is configured to rotate with respect to digital user interface34. In some examples, dial32is configured to rotate in response to a user input. Dial32may be electrically connected to dial circuitry (not illustrated inFIG. 2) which may generate an electrical signal indicative of one or more rotational parameters (e.g., a rotational position, a rotational velocity, and/or a rotational acceleration) of dial32. The dial circuitry may output the electrical signal indicative of the one or more rotational parameters to processing circuitry52. In some examples, the dial circuitry is part of processing circuitry52.

Digital user interface34may be located on a face (e.g., the second face) of HVAC controller30. In some examples, digital user interface34may, in some cases, be substantially circular in shape. In some examples, digital display may include a presence sensitive device to detect user inputs to HVAC controller30. Example presence-sensitive input displays include a resistive touchscreen, a surface acoustic wave touchscreen, a capacitive touchscreen, a projective capacitance touchscreen, a pressure sensitive screen, an acoustic pulse recognition touchscreen, or another presence-sensitive display technology. Digital user interface34of HVAC controller30may function as an output device using any one or more display devices, such as an LCD, dot matrix display, LED display, OLED display, e-ink, or similar monochrome or color display capable of outputting visible information to a user.

In some examples, digital user interface34may display a set of carousel screens, which may represent a sequence of screens. In some examples, each screen of the set of carousel screens may be related to one or more parameters of an environment in which HVAC controller30is located, one or more settings of HVAC controller30, and/or one or more other aspects associated with HVAC controller30. For example, the set of carousel screens may include a time & outdoor temperature screen, a comfort (e.g., inside temperature) screen, an air quality screen, a water screen, an energy screen, and a security screen. In some examples, digital user interface34may scroll through the carousel of screens based on two or more kinds of user input, such as a rotation of dial32and/or swipe inputs received by digital user interface34. In some examples, digital user interface34may scroll through the carousel of screens without user input.

Processing circuitry52may be configured to set and/or change one or more temperature set points corresponding to a space (e.g., a space within building12). For example, a first set point temperature may represent a cooling set point temperature and a second set point temperature may represent a heating set point temperature. In some examples, if HVAC controller30is in a cooling mode and the current temperature is greater than the cooling set point temperature, processing circuitry52may control HVAC component(s)16to regulate the temperature in the space to reach the cooling set point temperature over a period of time based on the current temperature and the cooling set point temperature. In some examples, if HVAC controller30is in a heating mode and the current temperature is less than the heating set point temperature, processing circuitry52may control HVAC component(s)16to regulate the temperature in the space to reach the heating set point temperature over a period of time based on the current temperature and the heating set point temperature.

In some example, processing circuitry52is configured to receive an instruction to change and/or set one or more temperature set points of HVAC controller30from dial circuitry electrically connected to dial32, where the instruction is indicative of a user selection of one or more temperature set points using dial32. For example, in response to a first rotation of dial32, processing circuitry52may set the cooling temperature set point value to a first temperature value if a cooling set point mode of HVAC controller30is activated. In response to a second rotation of dial32, processing circuitry52may set the heating temperature set point value to a second temperature value if a heating set point mode of HVAC controller30is activated. Processing circuitry52may control whether HVAC controller is in the heating set point mode or the cooling set point mode based on one or more user inputs received from digital user interface34. In some examples, processing circuitry52is configured to receive an instruction to change and/or set one or more temperature set points of HVAC controller30from one or more of user devices8via network6. In any case, processing circuitry52may change the one or more temperature set points in response receiving instructions to change the one or more temperature set points.

FIG. 3is a conceptual diagram illustrating an example screen hierarchy for one or more screens300which may be displayed by digital user interface34, in accordance with one or more techniques described herein. The one or more screens300include idle screens302-312, carousel screens322-332, and details screens342-352.FIG. 3is described with respect to HVAC system10and HVAC controller30ofFIG. 1andFIG. 2. However, the techniques ofFIG. 3may be performed by different components of HVAC system10and HVAC controller30or by additional or alternative systems or devices.

Processing circuitry52is configured to control which of screens300is displayed by digital user interface34at any given point in time. In some examples, processing circuitry52may change the screen displayed by digital user interface34in response to receiving one or more user inputs. In some examples, processing circuitry52may automatically change the screen displayed by digital user interface34without receiving any user inputs. Screens300are organized in a hierarchy which determines a manner in which processing circuitry52sets, changes, and transitions the screen displayed by digital user interface34. As seen inFIG. 3, idle screens302-212are located at a “top” of the hierarchy, carousel screens322-332are located below the idle screens302-212in the hierarchy, and details screens342-352are located below the carousel screens322-332in the hierarchy at the “bottom” of the hierarchy.

Screen transitions in the vertical direction362may be referred to herein as “vertical transitions.” Screen transitions in the horizontal direction364may be referred to herein as “horizontal transitions.” For example, a transition from displaying carousel screen328on digital user interface34to displaying idle screen308on digital user interface34may represent a vertical transition, since the transition is an upwards moment through the hierarchy along vertical direction362. A transition from displaying carousel screen328on digital user interface34to displaying carousel screen330on digital user interface34may represent a horizontal transition, since the transition is a sideways moment through the hierarchy along horizontal direction364. A group of screens which are arranged vertically in the hierarchy may be referred to as a “vertical grouping of screens.” For example, idle screen304, carousel screen324, and details screen344represent a vertical grouping of screens since idle screen304is an idle screen corresponding to carousel screen324and details screen344is a details screen corresponding to carousel screen324.

In some examples, processing circuitry52selects a vertical grouping of screens as a default vertical grouping of screens. The default vertical group of screens represents a vertical group of screens which HVAC controller30defaults to while HVAC controller30is in an idle state. HVAC controller30may enter the idle state when a period of time elapses following a most recent user input to HVAC controller30. HVAC controller30may remain in the idle state until HVAC controller30receives a user input. In one example, processing circuitry52may select idle screen304, carousel screen324, and details screen344(collectively, “screens304,324,344”) as the default vertical group of screens. During the idle state, processing circuitry52may output the idle screen of the default vertical group of screens for display by digital user interface34. As such, when screens304,324,344represent the default vertical group of screens, processing circuitry52displays idle screen304while HVAC controller30is in the idle state. When HVAC controller30receives a user input (e.g., a touch input to digital user interface34) after a time when HVAC controller30is in the idle state, processing circuitry52may vertically transition from displaying idle screen304to displaying carousel screen324on digital user interface34.

When processing circuitry52displays carousel screen324in response to a user touch input to digital user interface34, HVAC controller30may be in a display screen mode, and processing circuitry52may transition the screen displayed by digital user interface34based on one or both of swipe inputs to digital user interface34and rotations of dial32. That is, processing circuitry52may transition from displaying carousel screen324to displaying carousel screen326in response to detecting a rightward swipe input to digital user interface34or detecting a rightward rotation of dial32and processing circuitry52may transition from displaying carousel screen324to displaying carousel screen322in response to detecting a leftward swipe input to digital user interface34or detecting a leftward rotation of dial32. It may be beneficial for processing circuitry52to change the carousel screen based on two or more types of user input, such as rotations of dial32and/or swipe inputs to digital user interface34, so that a user experience with HVAC controller30is improved as compared with one or more HVAC controllers which do not change display screens based on two or more types of user input. Additionally, in some cases, it may be beneficial for processing circuitry52to change the carousel screen specifically based on rotations of dial32and/or swipe inputs to digital user interface34since rotating dial32and swiping on digital user interface34represent easy and natural ways to interact with HVAC controller30.

In some examples, processing circuitry52may cycle through more than one carousel screen of carousel screens322-332within a short period of time (e.g., less than 10 seconds). For example, processing circuitry52may transition from one carousel screen to another carousel screen after detecting a rotation of dial32by a threshold number of degrees. In other words, if dial32rotates continuously, processing circuitry52may cycle through several carousel screens. When dial32stops rotating, processing circuitry52may maintain a current carousel screen for display by digital user interface34. For example, in response to one rotation of dial32, processing circuitry52may transition from carousel screen324to carousel screen326, transition from carousel screen326to carousel screen328, and transition from carousel screen328to carousel screen330. Processing circuitry52may stop transitioning carousel screens at carousel screen330when dial32stops rotating. Subsequently, processing circuitry52may detect a “tap” touch input to digital user interface34, causing processing circuitry52to transition carousel screen330to details screen350.

In some examples, processing circuitry52may transition from displaying one carousel screen to an adjacent carousel screens in response to detecting one swipe input to digital user interface34. A swipe input may represent a horizontal user touch movement across digital user interface34. Horizontal swipe inputs may include rightwards swipe inputs and leftwards swipe inputs. When processing circuitry52detects two consecutive rightwards swipe inputs to digital user interface34, processing circuitry52may transition from displaying carousel screen324to displaying carousel screen326responsive to the first rightwards swipe and transition from displaying carousel screen326to displaying carousel screen328responsive to the second rightwards swipe.

Processing circuitry52may transition from a carousel screen to a respective details screen in response to receiving a tap input to digital user interface34. When digital user interface34is displaying carousel screen322, processing circuitry52may transition digital user interface34from displaying carousel screen322to displaying details screen342responsive to detecting a tap input to digital user interface34. When digital user interface34is displaying carousel screen324, processing circuitry52may transition digital user interface34from displaying carousel screen324to displaying details screen344responsive to detecting a tap input to digital user interface34. When digital user interface34is displaying carousel screen326, processing circuitry52may transition digital user interface34from displaying carousel screen326to displaying details screen346responsive to detecting a tap input to digital user interface34. When digital user interface34is displaying carousel screen328, processing circuitry52may transition digital user interface34from displaying carousel screen328to displaying details screen348responsive to detecting a tap input to digital user interface34. When digital user interface34is displaying carousel screen330, processing circuitry52may transition digital user interface34from displaying carousel screen330to displaying details screen350responsive to detecting a tap input to digital user interface34. When digital user interface34is displaying carousel screen332, processing circuitry52may transition digital user interface34from displaying carousel screen332to displaying details screen352responsive to detecting a tap input to digital user interface34.

Processing circuitry52may transition from displaying a carousel screen to displaying a corresponding idle screen in response to a period of time elapsing since a most recent user input to HVAC controller30. In some examples, the period of time is 45 seconds. When digital user interface34displays carousel screen322for a period of time after a most recent user input to HVAC controller30, processing circuitry52may transition to displaying idle screen302on digital user interface34. When digital user interface34displays carousel screen324for a period of time after a most recent user input to HVAC controller30, processing circuitry52may transition to displaying idle screen304on digital user interface34. When digital user interface34displays carousel screen326for a period of time after a most recent user input to HVAC controller30, processing circuitry52may transition to displaying idle screen306on digital user interface34. When digital user interface34displays carousel screen328for a period of time after a most recent user input to HVAC controller30, processing circuitry52may transition to displaying idle screen308on digital user interface34. When digital user interface34displays carousel screen330for a period of time after a most recent user input to HVAC controller30, processing circuitry52may transition to displaying idle screen310on digital user interface34. When digital user interface34displays carousel screen332for a period of time after a most recent user input to HVAC controller30, processing circuitry52may transition to displaying idle screen312on digital user interface34.

Processing circuitry52of may be configured to cause a set point to change in response to receiving a first rotation input via a dial32while digital user interface34displays a first screen. In some examples, the first screen includes one of idle screens302-312or one of carousel screens322-332. As such, a default function of dial32may be to control one or more set point temperature values. Subsequently, processing circuitry52may be configured to cause a menu of options to be displayed on digital user interface34to change in response to receiving a touch input at the digital user interface34while the digital user interface34displays the first screen. In some examples, the first touch input represents a user selection of a menu button on one of carousel screens322-332, causing digital user interface34to display a corresponding one of details screens342-352.

Processing circuitry52is configured to cause a selection being displayed on digital user interface34to change in response to receiving a rotation input via dial32while digital user interface34a second screen. In other words, while digital user interface34displays one of details screens342-352, dial32may control the selection being displayed on digital user interface34rather than controlling one or more temperature set points. Additionally, processing circuitry52may cause the selection being displayed on digital user interface34while the digital user interface34displays the second screen. In other words, touch input to digital user interface34may control the selection being displayed on digital user interface34in a similar manner to a rotation of dial32while digital user interface34displays one of details screens342-352. Thus, when some screens are being displayed dial32and digital user interface34may functional as alternative inputs that perform the same function, e.g., navigating a menu hierarchy. When other screens are being displayed, dial32and digital user interface34may perform different functions. As one example, when an idle screen or home screen is being displayed a rotation of dial32may cause a setpoint to change whereas a touch input at digital user interface34may cause a menu option to be selected. In some examples, digital user interface34is a full color touch screen.

FIG. 4is a conceptual diagram illustrating a rotation of a dial432of an HVAC controller430, in accordance with one or more techniques described herein. As seen inFIG. 4, a first dial position “DIAL POSITION 1” represents a rotational position of dial432where point412is located at a top of HVAC controller, and a second dial position “DIAL POSITION 2” represents a rotational position of dial432the first dial position. Point412represents a reference point to show one example rotation of dial432. Point412is not necessarily visible on the face of dial432. In one example, the clockwise rotation of dial432causes processing circuitry of HVAC controller430to increase temperature displayed on digital user interface434to from 72° to 74°, but this is not required. The processing circuitry may perform one or more other actions in response to detecting the rotation of dial432.

FIG. 5is a flow diagram illustrating an example operation for navigating a screen displayed by digital user interface34, in accordance with one or more techniques described herein.FIG. 5is described with respect to HVAC system10and HVAC controller30ofFIG. 1andFIG. 2. Additionally,FIG. 5is described with respect to idle screens302-312, carousel screens322-332, and details screens342-352ofFIG. 3. However, the techniques ofFIG. 5may be performed by different components of HVAC system10and HVAC controller30or by additional or alternative devices.

Processing circuitry52of HVAC controller30may be configured to cause a set point to change in response to receiving a first rotation input via a dial32while digital user interface34displays a first screen (502). In some examples, the first screen includes one of idle screens302-312or one of carousel screens322-332. As such, a default function of dial32may be to control one or more set point temperature values. Subsequently, processing circuitry52may be configured to cause a menu of options to be displayed on the digital user interface34to change in response to receiving a first touch input at the digital user interface34while the digital user interface34displays the first screen (504). In some examples, the first touch input represents a user selection of a menu button on one of carousel screens322-332, causing digital user interface34to display a corresponding one of details screens342-352.

Processing circuitry52is configured to cause a selection being displayed on the digital user interface34to change in response to receiving a second rotation input via the dial32while the digital user interface34displays a second screen (506). In other words, while digital user interface34displays one of details screens342-352, dial32may control the selection being displayed on digital user interface34rather than controlling one or more temperature set points. Additionally, processing circuitry52may cause the selection being displayed on the digital user interface34to change in response to receiving a second touch input via the digital user interface34while the digital user interface34displays the second screen (508). In other words, touch input to digital user interface34may control the selection being displayed on digital user interface34in a similar manner to a rotation of dial32while digital user interface34displays one of details screens342-352. Thus, when some screens are being displayed dial32and digital user interface34may functional as alternative inputs that perform the same function, e.g., navigating a menu hierarchy. When other screens are being displayed, dial32and digital user interface34may perform different functions. As one example, when an idle screen or home screen is being displayed a rotation of dial32may cause a setpoint to change whereas a touch input at digital user interface34may cause a menu option to be selected. In some examples, the digital user interface34includes a full color touch screen.

FIG. 6is a flow diagram illustrating an example operation for navigating one or more screens for display by digital user interface34, in accordance with one or more techniques described herein.FIG. 6is described with respect to HVAC system10and HVAC controller30ofFIG. 1andFIG. 2. Additionally,FIG. 6is described with respect to idle screens302-312, carousel screens322-332, and details screens342-352ofFIG. 3. However, the techniques ofFIG. 6may be performed by different components of HVAC system10and HVAC controller30or by additional or alternative devices. Processing circuitry52may be configured to scroll through a sequence of carousel screens322-332for display on the digital user interface34in response to detecting a set of user inputs to one or both of the digital user interface34and the dial32(602). Subsequently, digital user interface34may display, on the digital user interface34after a period of time following a most recent user input of the set of user inputs, a default carousel screen of the sequence of carousel screens (604). Processing circuitry52may display, on the digital user interface34after a period of time following the display of the default carousel screen, an idle screen corresponding to the default carousel screen of the sequence of carousel screens (606).