blob: e4c7009004c05cb174c3fe19376c9bcc3e85ea20 [file] [log] [blame]
/*
*
* 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