| /* |
| * |
| * 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 Domestic Hot Water Profile |
| */ |
| |
| #ifndef WEAVE_PROFILES_NEST_DOMESTIC_HOT_WATER_CONSTANTS |
| #define WEAVE_PROFILES_NEST_DOMESTIC_HOT_WATER_CONSTANTS |
| |
| namespace nl { |
| |
| namespace Weave { |
| |
| namespace Profiles { |
| |
| namespace Vendor { |
| |
| namespace Nestlabs { |
| |
| namespace DomesticHotWater { |
| |
| enum EquipmentInterface { |
| UnknownEquipmentInterface = 0, |
| Relay = 1, |
| OpenTherm = 2, |
| }; |
| |
| enum ProductionSource { |
| UnknownSource = 0, |
| Electricity = 1, |
| NaturalGas = 2, |
| Propane = 3, |
| Solar = 4, |
| Geothermal = 5, |
| District = 6, |
| Boiler = 7, |
| }; |
| |
| enum Type { |
| UnknownType = 0, |
| Storage = 1, |
| Tank = Storage, |
| Tankless = 2, |
| }; |
| |
| enum Locality { |
| UnknownLocality = 0, |
| Centralized = 1, |
| PointOfUse = 2 |
| }; |
| |
| |
| // Generic Domestic Hot Water tag space |
| // |
| // Tag Tag Element |
| // Number Category Type Constraints Disposition Readability Writability OT |
| // ----------------------------------------------------------------------------------------------------- |
| |
| enum { |
| kTag_EquipmentInterface = 0x0001, // Profile-specific UINT32 EquipmentInterface Mandatory Any - |
| kTag_ProductionSource = 0x0002, // Profile-specific UINT32 ProductionSource Mandatory Any - |
| |
| //Turn on/off, Specify setpoint |
| kTag_Enable = 0x0003, // Profile-specific Bool - Optional Any Any W=0.HB.1,R=0.LB.2 |
| kTag_Setpoint = 0x0004, // Profile-specific UINT32 0 to 1000 0.1degC Mandatory - Any 56 |
| kTag_MinSetpoint = 0x0005, // Profile-specific INT32 0 to 1000 0.1degC Optional - Any 48.LB |
| kTag_MaxSetpoint = 0x0006, // Profile-specific INT32 0 to 1000 0.1degC Optional - Any 48.HB |
| |
| kTag_Type = 0x0007, // Profile-specific UINT32 Type Optional Any - 3.3 |
| kTag_Locality = 0x0008, // Profile-specific UINT32 Locality Optional Any - |
| |
| kTag_ManualModeSetpoint = 0x0009, // Profile-specific UINT32 0 to 1000 0.1degC Optional - Any |
| }; |
| |
| |
| // Domestic Hot Water OpenTherm (OT) specific tag space (0x10001 - 0x1FFFF) |
| // |
| // Tag Tag Element |
| // Number Category Type Constraints Disposition Readability Writability |
| // ----------------------------------------------------------------------------------------------- |
| |
| //enum { |
| //}; |
| |
| |
| // Domestic Hot Water sensor tag space (0x20001 - 0x2FFFF) |
| // |
| // Tag Tag Element |
| // Number Category Type Constraints Disposition Readability Writability OT |
| // ------------------------------------------------------------------------------------------------------ |
| |
| enum { |
| kTag_Sensor_WaterTemperature = 0x20001, // Profile-specific UINT32 0 to 1000 0.1degC Optional Any - 26 |
| kTag_Sensor_WaterFlowRate = 0x20002, // Profile-specific UINT32 0 to 1000 0.1L/min Optional Any - 19 |
| }; |
| |
| |
| // Domestic Hot Water counters tag space (0x30001 - 0x3FFFF). Write 0 to clear |
| // |
| // Tag Tag Element |
| // Number Category Type Constraints Disposition Readability Writability OT |
| // ------------------------------------------------------------------------------------------------------ |
| |
| enum { |
| kTag_Counter_NumPumpStarts = 0x30001, // Profile-specific UINT32 - Optional Any Any 118 |
| kTag_Counter_NumBurnerStarts = 0x30002, // Profile-specific UINT32 - Optional Any Any 119 |
| kTag_Counter_PumpOperationHours = 0x30003, // Profile-specific UINT32 - Optional Any Any 122 |
| kTag_Counter_BurnerOperationHours = 0x30004, // Profile-specific UINT32 - Optional Any Any 123 |
| }; |
| |
| |
| // Domestic Hot Water status codes |
| enum { |
| kStatus_DomesticHotWaterEnableFailed = 0x0001, // Error enabling Domestic Hot Water |
| kStatus_DomesticHotWaterDisableFailed = 0x0002, // Error enabling Domestic Hot Water |
| kStatus_DomesticHotWaterWriteFailed = 0x0003, // Error enabling or disabling DHW due to write error |
| kStatus_CannotSetSetpoint = 0x0004, // Setpoint cannot be set |
| }; |
| |
| |
| }; // namespace DomesticHotWater |
| |
| }; // namespace Nestlabs |
| |
| }; // namespace Vendor |
| |
| }; // namespace Profiles |
| |
| }; // namespace Weave |
| |
| }; // namespace nl |
| |
| #endif // WEAVE_PROFILES_NEST_DOMESTIC_HOT_WATER_CONSTANTS |