| /* |
| * |
| * Copyright (c) 2015 Nest Labs, Inc. |
| * All rights reserved. |
| * |
| * This document is the property of Nest. It is considered |
| * confidential and proprietary information. |
| * |
| * This document may not be reproduced or transmitted in any form, |
| * in whole or in part, without the express written permission of |
| * Nest. |
| * |
| */ |
| |
| /** |
| * @file |
| * This file defines constants used by the Nest HVAC Equipment Control Profile |
| */ |
| |
| #ifndef WEAVE_PROFILES_NEST_HVAC_EQUIPMENT_CONTROL_CONSTANTS |
| #define WEAVE_PROFILES_NEST_HVAC_EQUIPMENT_CONTROL_CONSTANTS |
| |
| namespace nl { |
| |
| namespace Weave { |
| |
| namespace Profiles { |
| |
| namespace Vendor { |
| |
| namespace Nestlabs { |
| |
| namespace Hvac { |
| |
| namespace EquipmentControl { |
| |
| enum EquipmentInterface { |
| UnknownEquipmentInterface = 0, |
| Relay = 1, |
| OpenTherm = 2, |
| }; |
| |
| enum HeatingProductionSource { |
| UnknownHeatingSource = 0, |
| ElectricalHeating = 1, |
| NaturalGasHeating = 2, |
| GeothermalHeating = 3, |
| Boiler = 4, |
| }; |
| |
| enum CoolingProductionSource { |
| UnknownCoolingSource = 0, |
| ElectricalCooling = 1, |
| }; |
| |
| // Generic HVAC Equipment Control tag space |
| // |
| // Tag Tag Element |
| // Number Category Type Constraints Disposition Readability Writability OT |
| // ------------------------------------------------------------------------------------------------------ |
| |
| enum { |
| kTag_EquipmentInterface = 0x0001, // Profile-specific UINT32 EquipmentInterface Mandatory Any - |
| kTag_HeatingProductionSource = 0x0002, // Profile-specific UINT32 HeatingProductionSource Mandatory Any - |
| kTag_CoolingProductionSource = 0x0003, // Profile-specific UINT32 CoolingProductionSource Mandatory Any - |
| |
| //Turn on/off Central Heating |
| kTag_CentralHeatingEnable = 0x0004, // Profile-specific Bool - Mandatory Any Any W=0.HB.0,R=0.LB.1 |
| |
| //Turn on/off Central Heating 2 |
| kTag_CentralHeating2Capable = 0x0005, // Profile-specific Bool - Optional Any - 3.5 |
| kTag_CentralHeating2Enable = 0x0006, // Profile-specific Bool - Optional Any Any W=0.HB.4,R=0.LB.5 |
| |
| //Turn on/off Cooling |
| kTag_CoolingCapable = 0x0007, // Profile-specific Bool - Optional Any - 3.2 |
| kTag_CoolingEnable = 0x0008, // Profile-specific Bool - Optional Any Any W=0.HB.2,R=0.LB.4 |
| |
| //Setpoints |
| kTag_ControlSetpoint = 0x0009, // Profile-specific INT32 -400 to 1270 0.1degC Optional - Any 1 |
| kTag_IndoorSetpoint = 0x000A, // Profile-specific INT32 -400 to 1270 0.1degC Optional - Any 16 |
| kTag_MinCentralHeatingSetpoint = 0x000B, // Profile-specific INT32 -400 to 1270 0.1degC Optional - Any 49.LB |
| kTag_MaxCentralHeatingSetpoint = 0x000C, // Profile-specific INT32 -400 to 1270 0.1degC Optional - Any 49.HB |
| |
| //Temperatures |
| kTag_RoomTemperature = 0x000D, // Profile-specific INT32 -400 to 1270 0.1degC Optional - Any 24 |
| kTag_OutdoorTemperature = 0x000E, // Profile-specific INT32 -400 to 1270 0.1degC Optional Any Any 27 |
| |
| //Is cool/heat switching done by thermostat? |
| kTag_HeatCoolSwitchByThermostat = 0x000F, // Profile-specific Bool - Optional Any - 3.7 |
| |
| kTag_ManualModeControlSetpoint = 0x0010, // Profile-specific INT32 -400 to 1270 0.1degC Optional - Any |
| }; |
| |
| |
| // HVAC Equipment Control OpenTherm (OT) specific tag space (0x10001 - 0x1FFFF) |
| // |
| // Tag Tag Element |
| // Number Category Type Constraints Disposition Readability Writability |
| // ----------------------------------------------------------------------------------------------- |
| |
| //enum { |
| //}; |
| |
| |
| // HVAC Equipment Control sensor tag space (0x20001 - 0x2FFFF) |
| // |
| // Tag Tag Element |
| // Number Category Type Constraints Disposition Readability Writability OT |
| // ------------------------------------------------------------------------------------------------------ |
| |
| enum { |
| kTag_Sensor_WaterPressure = 0x20001, // Profile-specific UINT32 0.1 bar Optional Any 18 |
| }; |
| |
| |
| // HVAC Equipment Control counters tag space (0x30001 - 0x3FFFF). Write 0 to clear |
| // |
| // Tag Tag Element |
| // Number Category Type Constraints Disposition Readability Writability OT |
| // ------------------------------------------------------------------------------------------------------ |
| |
| enum { |
| kTag_Counter_NumCentralHeatingPumpStarts = 0x30001, // Profile-specific UINT32 - Optional Any Any 117 |
| kTag_Counter_NumCentralHeatingPumpOpHours = 0x30002, // Profile-specific UINT32 - Optional Any Any 121 |
| }; |
| |
| |
| // HVAC Equipment Control status codes |
| enum { |
| kStatus_OutdoorTemperatureUnavailable = 0x0001, // Outdoor temp sensor unavailable. Thermostat must provide outdoor temp |
| kStatus_CentralHeatingEnableFailed = 0x0002, // Error enabling Central Heating |
| kStatus_CentralHeatingDisableFailed = 0x0003, // Error disabling Central Heating |
| kStatus_CentralHeatingWriteFailed = 0x0004, // Error enabling or disabling CH due to write error |
| kStatus_CannotSetControlSetpoint = 0x0005, // Control setpoint cannot be set |
| kStatus_CannotSetIndoorSetpoint = 0x0006, // Indoor setpoint cannot be set |
| }; |
| |
| |
| }; // namespace EquipmentConrol |
| |
| }; // namespace Hvac |
| |
| }; // namespace Nestlabs |
| |
| }; // namespace Vendor |
| |
| }; // namespace Profiles |
| |
| }; // namespace Weave |
| |
| }; // namespace nl |
| |
| #endif // WEAVE_PROFILES_NEST_HVAC_EQUIPMENT_CONTROL_CONSTANTS |