Operating an HVAC system can be very dangerous and you must have a very good understanding of what you are doing before you decide to experiment with this project. This is an experimental technology whose goal is to show you how energy can be conserved using an advanced new paradigm. Not all aspects of this project have yet been thoroughly tested and therefore, it is very unwise to operate this project unattended without expert supervision. Please refer and thoroughly understand the legal notices and disclaimers before you attempt to experiment with any aspect of this project.

Thermocloud comprises of a hardware component and software components.

Thermocloud Hardware

The hardware component comprises one or more zone hardware module under the control of a Raspberry Pi controller. Most recent Pi models should operate well and the zone hardware module was successfully operated using the following models of Raspberry Pi. Please inform us if you are able to also use other models of Pi.

The zone hardware module uses a readily available optocoupled relay interface board with active low-level control. The Raspberry PI and the associated control circuitry requires a 5V power supply similar to the one used for many Android devices. The zone hardware module must be wired according to the zone hardware's as described in wiring a zone.

Thermocloud Client

Thermocloud can use one of your old Android devices as the client. Thermocloud client is the local component that resides in your house and serves as your primary thermostat device. The client device is expected to be permanently powered on and must remain in your house.

  1. Download and install the Thermocloud Android application. The source as well as a precompiled application is available here. The client is know to work on Android versions 6.0.1 and above.
  2. Launch the Thermocloud application on your thermostat Android device. The application automatically launches in installation mode where it expects you to first configure the system.
  3. Upon successful configuration, the system is ready for use. The application may be closed at any time. However, the thermostat Android device must always keep running and must not run out of battery. Best practice is to keep it permanently connected to a power adapter.
  4. Any thermostat notifications will show up as Android notifications with an indicator in the notification bar. You may launch the Thermocloud application at any time to monitor or interact with the system - such as to change the current temperature or check the status of the system.
  5. Your thermocloud system can operate in a local standalone mode without the need to collaborate with other thermostats. However, for much deeper savings, the system can optionally participate in the Thermocloud cloud.

The above screenshots show the Thermocloud client's main screen and the top-application menu that enables a user to interact with the thermostat to perform the actions that are descibed in the subsequent sections below.

Configure Local System

Thermocloud client requires the local system to be first configured properly before it can start operating. The client can control one or more zones in the house. Once the system is configured properly, the System Ready status shows Ready signifying that the system is now operational.

By default, the system manages temperature in Fahrenheit. Toggle it to degree Celsius here if you expect the system to manage temperature in Celsius.

The shutdown button allows the thermostat to turn off any accessible zones and gracefully turn off the thermostat client. Note that the HVAC systems will still remain powered on - only they won't be heating or cooling.

First add a zone for each HVAC system that must be controlled by this thermostat. This is done by pressing the New button at bottom of the screen. This launches Zone configuration where information for this zone can be provided.

  1. Name: Name with which you want to identify this zone. Give a name that presents the location or purpose of zone. E.g. Downstairs to signify that the zone presents HVAC operations for the downstairs floor of the house.
  2. Module Id: This is either set to hostname or the IP address that is will be assigned to the Raspberry Pi controller associated with this zone. Ensure that the Raspberry Pi is operational and verify that this configuration matches its network identity on your local wifi network.
  3. Module zone:Zone number within the module if using a hardware that supports more than one zone per module. Currently, this should be set as 1.
  4. Cool stages:Number of cooling stages supported by the HVAC system associated with this zone.
  5. Heat stages:Number of heating stages supported by the HVAC system associated with this zone.
  6. Baffle zone #:Optional baffle zone that must be equalized using conditioned air from this zone.

Repeat the above process for each zone present in the house. Zones may be edited at any time using the edit button and deleted completely by pressing the delete button.

You should not delete a zone when it is still in use by other schedules. Delete a zone only after ensuring it is no longer in use.
Daily Schedule

Thermocloud offers an elegant way to configure a daily schedule for each zone. Rather than guessing a schedule like many newer thermostats or using a rudimentary fixed time and temperature based schedule for conventional thermostats, Thermocloud takes a more deterministic approach that allows users better control over energy usage and comfort.

The system comes with predefined commonly used schedules and most popular default daily assignment for these schedules. Therefore, there is no need to customize schedules unless you need more sophisticated control.

User can define custom daily schedules using two configurable items:

  1. Schedule: This item allows defining a set of time intervals and expected temperatures, comfort level for each time interval.
  2. Zone Schedule: This item defines daily schedule for a zone. This is done by assigning a predefined Schedule item to a day of week. By separating a Schedule item from Zone Schedule, user can define a Schedule item once and reuse it as needed across zones and their days of week.
A Schedule Item

A schedule item allows user to define a set of time itervals and expected temperatures and comfort level for each time interval. Moreveor, this definition is identified by a unique name that can henceforth be used while defining the zone schedules.

To define a new schedule item, user must select Schedule from the top application menu and then click the New button to create a new Schedule item.

  1. Schedule Name: Use a name that correctly represents the purpose of the new schedule - e.g. weekend up-heat for a schedule that accurately reflects user's weekend preferences for upstairs heating system.

The newly created schedule represents a set of time-intervals and user's preferences for each of these intervals. This can be defined by clicking the interval-set button for the newly created schedule. This opens up the Schedule Intervals screen where user can define time intervals and their associated preferences as follows:

To define a new schedule interval, click the New button and fill up the following for the new interval:

  1. Name: Name of the time interval e.g. Wake, Sleep, Return etc.
  2. Time: Select the start and end times for the interval.
  3. Temperature: Select the temperature range that is acceptable to the user during this time interval. Note that larger the range, more potential savings at the cost of more temperature swing.
  4. Comfort Level: Name of the comfort level defined here. This setting represents a name rather than a fixed value.

    By doing so, in future, user may change the value associated with this name and globally cause the comfort level change across each schedule that uses this comfort level. E.g. The label In represents when user is mostly inside the house and user seek 80% comfort (meaning temperature fluctuation of less than 20% is expected). During very hot summer months, if user wants more energy savings, comfort level In can be changed to 60% and all schedules like this that use comfort level In will now operate at 60% comfort level instead of 80% comfort level.

  5. Strict: On if user expects the temperature to be in the specified range at start of interval - without any delay. Strict intervals may potentially offer less savings and should be used only when user absolutely needs it.
A Zone Schedule Item

This item defines daily schedule for a zone by assigning a schedule item for each day of week

The system comes preconfigured with a default zone schedule. User may modify this by selecting Zone Schedule from the top application menu and then clicking the the edit button of the zone whose schedule must be altered.

  1. Zone Name: Zone whose schedule is being edited.
  2. Mode: Mode of system operation HEAT or COOL.
  3. Schedule: User selects a pre-existing schedule that must be used and select the days of week for which this schedule is to be active - left most checkmark being Monday, next to it is Tuesday and so on.

    User may add new schedule to be considered here by clicking the + button and selecting a schedule from the drop-down list of schedule names. Once selected, it may be applied to specific days by checking the checkbox for that day.

Comfort-Level

Comfort-level setting defines level of comfort that is acceptable to the user. Roughly speaking, it defines how closely you want the system to shift operating temperature to be near the most comfortable limit of the user-specified temperature range for the intervals.

If the user specified cooling temperature range 75 to 81 and user selects comfort level 100%, system strives to maintain temperature around 75 whereas if user selects comfort level 50%, the system attempts to maintain temperature between 75 to 78.

The comfort level is identified by a name and this name is used in interval specifications for each schedule. By doing so, user can change the comfort level across all schedules that use the name without specifically altering it in the interval specifications.

To create a new comfort-level, select the top-level menu option Comfort-level and click the New button.

  1. Name: Select the name of comfort level that can be used henceforth in using this comfort-level across schedules.
  2. Level Value: Comfort value ranging from 0 to 100, 0 signifying 0% comfort and 100 signifying maximum 100% comfort.
Normal Operations

Under normal operating conditions, the main screen of the Thermocloud client application shows a dashboard of the all active zones in the system and the status of each zone as shown in the above figures and described below:

  1. Zone-name: Name of the active zone. E.g. Downstairs
  2. Schedule-interval name: Name of the currently active schedule interval. E.g. Return.
  3. Current Temperature: Current inside operating temperature in the zone. E.g.25 C
  4. Current Humidity: Current inside relative humidity percentage in the zone. E.g. 50%
  5. Operating Stage Type: Type of HVAC stage heat/cool and its stage number if HVAC is currently actively working with that stage.
  6. HVAC Fan Status: Status of HVAC Fan. E.g. On

It is possible for a user to override some of the current settings directly on this screen. Press the edit button to open the operational menu for the zone comprising:

  1. Temperature: Temporarily override the current interval's temperature range. The Min and Max temperatures become the current interval's temporary range of operation.
  2. Hold: If checked, the temporary overriding temperature becomes the current temperature range for the current and future intervals until the user cancels this hold. This is how user can override the schedule and instead use this overriding setting until the overriding hold is cancelled by the user.
  3. Fan: When turned on, the HVAC system fan is turned on and remains on until this setting is deactivated.
  4. System: The system mode can be changed from Heating to Cooling or vice-versa using this system mode setting.
  5. Learn: When turned off, the system stops providing feedback for local and collaborative learning.

The system continuously reports actions that it takes as status messages. These messages appear as status messages at bottom of the main application screen. If the application is not active, these messages appear as notifications and can be retrieved in the main application. Furthermore, the history menu item in the top application menu also provides a list of all recent notification.

Operation History

The operational history of the thermostat can be accessed using the History item in the top application menu. Each critical action performed by the thermostat is logged here along with the information level, timestamp and a brief message explaining the action taken by the thermostat along with any additional information that explains the reasoning behind this action.

Collaboration
By default the Thermocloud client operates in a standalone configuration without any collaboration with any other thermostats. An empty Direct Route setting ensures that collaboration is inactive.

Collaboration can be activated using the top application menu's Advanced Tools item and going to the Cloud Operations section of this configuration as shown above.

  1. Direct Route: This is the default address of the Routing Provider cloud node that can assist this client to collaborate with other thermostats. If you are participating in a custom cloud of Thermocloud server, contact your Thermocloud cloud operator to obtain this address. Setting this field as default should allow you to access any default cloud accessible through your network.

    Turn off collaboration: Setting this field as empty (followed by restarting the thermostat device) ensures that this thermostat will operate in standalone mode without collaborating with the cloud.

  2. AECU: This is the Active ECU for the primary/first zone. Set the button to Learn (recommended) to automatically evaluate the AECU for your zone before collaborating system operations. Use the value as Fixed only if the AECU for your zones have been metered through other methods.
  3. PECU: This is the Passive ECU for the primary/first zone. Set the button to Learn (recommended) to automatically evaluate the PECU for your zone before collaborating system operations. Use the value as Fixed only if the AECU for your zones have been metered through other methods.