Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 29341-24-10 specifies the Thermostat service as part of the UPnP HVAC device framework. This service defines the actions, state variables, and eventing mechanisms required for intelligent temperature control in residential and commercial spaces. The thermostat service provides the core functionality that enables users and automation systems to manage heating and cooling setpoints, switch between operating modes, and define time-based temperature schedules. As a central component of the HVAC device architecture, the thermostat service interacts closely with the temperature sensor service defined in ISO/IEC 29341-24-2 and the fan speed service in ISO/IEC 29341-24-11.
The thermostat service defines a comprehensive set of actions for temperature management. The primary actions include GetSetpoint and SetSetpoint for querying and adjusting the target temperature, GetMode and SetMode for switching between heating, cooling, auto, and off modes, and GetSchedule and SetSchedule for defining weekly temperature programs. The service maintains multiple state variables that reflect the current operational status, including the current setpoint, operating mode, ambient temperature (obtained from the temperature sensor service), and the current schedule configuration.
| Action | Description | Arguments |
|---|---|---|
| GetSetpoint | Retrieve current target temperature | Return: Setpoint (float, °C) |
| SetSetpoint | Adjust target temperature | Input: NewSetpoint (float, °C) |
| GetMode | Query current operating mode | Return: Mode (string: Heat/Cool/Auto/Off) |
| SetMode | Change operating mode | Input: NewMode (string) |
| GetSchedule | Retrieve weekly temperature program | Return: Schedule (XML) |
| SetSchedule | Define weekly temperature program | Input: NewSchedule (XML) |
| GetDeadband | Read hysteresis deadband value | Return: Deadband (float, °C) |
| SetDeadband | Configure hysteresis deadband | Input: NewDeadband (float, °C) |
The service maintains a deadband parameter that defines the hysteresis around the setpoint. For example, with a heating setpoint of 20°C and a deadband of 0.5°C, the heating system activates when the temperature drops to 19.5°C and deactivates when it reaches 20.5°C. This hysteresis prevents rapid on-off cycling that would increase wear on HVAC equipment and reduce energy efficiency.
The weekly scheduling capability is one of the most powerful features of the thermostat service. The schedule is defined as an XML structure containing time entries for each day of the week, each specifying a time and corresponding setpoint. The service automatically transitions between setpoints according to the schedule, enabling energy savings during unoccupied periods. The standard supports up to four schedule transitions per day, covering typical morning, daytime, evening, and nighttime periods.
The thermostat service also supports temporary overrides, where a user can manually adjust the setpoint without modifying the underlying schedule. The override can be configured to last for a specified duration or until the next scheduled transition, after which the thermostat automatically reverts to the programmed schedule. This feature is particularly useful for unexpected schedule changes, such as working from home or entertaining guests.
From an implementation perspective, the thermostat service must handle the interaction between multiple control points that may attempt to set different setpoints simultaneously. The standard recommends a last-writer-wins policy, where the most recent SetSetpoint or SetMode action takes precedence. However, the service should also implement a priority mechanism for safety-critical overrides, such as freeze protection or overheat prevention, that cannot be overridden by standard user commands.
Another important consideration is the behavior when the temperature sensor fails. The thermostat service should detect sensor faults by monitoring the temperature sensor service’s status variable and enter a fail-safe mode that cycles the HVAC equipment at a reduced duty cycle to prevent freeze damage or overheating while maintaining basic protection until the sensor is replaced.