-- extracted from draft-ietf-snmpconf-bcp-06.txt -- at Thu Sep 6 06:06:06 2001 BLDG-HVAC-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, Counter32, Gauge32, OBJECT-TYPE, Integer32, Unsigned32, experimental FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF TEXTUAL-CONVENTION, RowStatus, RowPointer, StorageType, DisplayString FROM SNMPv2-TC SnmpAdminString FROM SNMP-FRAMEWORK-MIB; bldgHVACMIB MODULE-IDENTITY LAST-UPDATED "200007090000Z" ORGANIZATION "SNMPCONF working group" CONTACT-INFO " Someone Some place phone number email address, web site" DESCRIPTION "This example MIB module defines a set of management objects for heating ventilation and air conditioning systems. It also includes objects that can be used to create policies that are applied to rooms which eliminates the need to send per instance configuration commands to the system. Note that before this MIB Module will successfully compile an assignment from IANA would be needed to replace the XXX below." REVISION "200105101230Z" DESCRIPTION "Initial version of BLDG-HVAC-MIB." ::= { experimental 9999 } bldgHVACObjects OBJECT IDENTIFIER ::= { bldgHVACMIB 1 } bldgConformance OBJECT IDENTIFIER ::= { bldgHVACMIB 2 } -- -- Textual Conventions -- HvacOperation ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Operations supported by a Heating and cooling system. A reference to underlying general systems would go here." SYNTAX INTEGER { heat(1), cool(2) } -- -- HVAC Objects Group -- bldgHVACTable OBJECT-TYPE SYNTAX SEQUENCE OF BldgHVACEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This simple table is an example of objects that are at the instance level of specificity. That is, they are indexed by a specific floor and office number. These objects include general counter and status information. This table includes the bldgHVACCfgTemplatePtr that points to a row in the bldgHVACCfgTemplateTable. If this value is not null, then the instance in the row that has a value for this object is being configured using templates and this is where the configuration information for the HVAC operation will be installed." ::= { bldgHVACObjects 1 } bldgHVACEntry OBJECT-TYPE SYNTAX BldgHVACEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each row represents a particular office, a pointer to the desired HVAC configuration settings and usage information for that location since this setting was initialized." INDEX { bldgHVACFloor, bldgHVACOffice } ::= { bldgHVACTable 1 } BldgHVACEntry ::= SEQUENCE { bldgHVACFloor Integer32, bldgHVACOffice Integer32, bldgHVACCfgTemplatePtr RowPointer, bldgHVACFanSpeed Gauge32, bldgHVACCurrentTemp Gauge32, bldgHVACCoolOrHeatMins Counter32, bldgHVACOwner SnmpAdminString, bldgHVACStatus RowStatus } bldgHVACFloor OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "This portion of the index indicates the floor of the building." ::= { bldgHVACEntry 1 } bldgHVACOffice OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "This second component of the index specifies the office number." ::= { bldgHVACEntry 2 } bldgHVACCfgTemplatePtr OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-write STATUS current DESCRIPTION "The pointer to an entry in the 'bldgHVACCfgTemplateTable'. The entry pointed to is a pre-made configuration that represents the configuration described by the bldgHVACCfgDescription object. Note that not all configurations will be under a defined policy. As a result, a row in this bldgHVACTable may point to an entry in the bldgHVACCfgTemplateTable that does not in turn have a pointer to an entry in the bldgHVACCfgPolicyTable. The benefit of this approach is that all configuration information is available in one table whether all elements in the system are under policy control or not." ::= { bldgHVACEntry 3 } bldgHVACFanSpeed OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "Shows the revolutions per minute of the fan. Fan speed will vary based on the difference between bldgHVACDesiredTemp and bldgHVACurrentTemp." ::= { bldgHVACEntry 4 } bldgHVACCurrentTemp OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The current measured temperature in the office." ::= { bldgHVACEntry 5 } bldgHVACCoolOrHeatMins OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of heating or cooling minutes that have been consumed since the row was activated. Notice that whether the minutes represent heating or cooling is a function of the configuration of this row. If the system is re-initialized from a cooling to heating function or vice versa, then the counter would start over again. This effect is similar to a reconfiguration of some network interface cards. When some parameters that impact configuration are changed, the subsystem must be re-initialized." ::= { bldgHVACEntry 6 } bldgHVACOwner OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "The identity of the operator/system that last modified this entry." ::= { bldgHVACEntry 7 } bldgHVACStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row." ::= { bldgHVACEntry 8 } -- -- HVAC Configuration Policy Table -- bldgHVACCfgPolicyTable OBJECT-TYPE SYNTAX SEQUENCE OF BldgHVACCfgPolicyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table provides a unique string identifier for HVAC Policies in a network. If it were necessary to configure devices to deliver a particular quality of service, the index string of this table could be the policy name. The bldgHVACCfgCfgPolicyDescription contains a brief description of the policy such as: provides high quality packet forwarding for Voice over IP customers. The bldgHVACCfgDescrPolicyPtr in the bldgHVACCfgTemplateTable will contain the pointer to the relevant row in this table if it is intended that items that point to a row in the bldgHVACCfgTemplateTable be identifiable as being under policy control though this mechanism." ::= { bldgHVACObjects 2 } bldgHVACCfgPolicyEntry OBJECT-TYPE SYNTAX BldgHVACCfgPolicyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each row represents a particular policy and description." INDEX { bldgHVACCfgPolicyIndex } ::= { bldgHVACCfgPolicyTable 1 } BldgHVACCfgPolicyEntry ::= SEQUENCE { bldgHVACCfgPolicyIndex DisplayString, bldgHVACCfgPolicyDescription DisplayString, bldgHVACCfgPolicyOwner SnmpAdminString, bldgHVACCfgPolicyStatus RowStatus } bldgHVACCfgPolicyIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-create STATUS current DESCRIPTION "The index to this table. This should be a unique name within an administrative domain for a particular policy so that all systems in a network that are under the same policy can have the same 'handle'." ::= { bldgHVACCfgPolicyEntry 1 } bldgHVACCfgPolicyDescription OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS current DESCRIPTION "A general description of the policy. One example might be - Controls the cooling policy for offices on higher floors during the summer." ::= { bldgHVACCfgPolicyEntry 2 } bldgHVACCfgPolicyOwner OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "The identity of the operator/system that last modified this entry." ::= { bldgHVACCfgPolicyEntry 3 } bldgHVACCfgPolicyStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row." ::= { bldgHVACCfgPolicyEntry 4 } -- -- HVAC Configuration Template Table -- bldgHVACCfgTemplateTable OBJECT-TYPE SYNTAX SEQUENCE OF BldgHVACCfgTemplateEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table can be used to set policy defaults that will be placed on the specific offices that match the pmPolicyFilter. See the policy MIB Module for more information." ::= { bldgHVACObjects 3 } bldgHVACCfgTemplateEntry OBJECT-TYPE SYNTAX BldgHVACCfgTemplateEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each row represents a single set of policy parameters that can be applied to selected instances - in this case offices. These policies will be turned on and off by the policy module through its scheduling facilities." INDEX { bldgHVACCfgTemplateIndex } ::= { bldgHVACCfgTemplateTable 1 } BldgHVACCfgTemplateEntry ::= SEQUENCE { bldgHVACCfgTemplateIndex Unsigned32, bldgHVACCfgTemplateDesiredTemp Gauge32, bldgHVACCfgTemplateCoolOrHeat HvacOperation, bldgHVACCfgTemplateDescrPtr RowPointer, bldgHVACCfgTemplateOwner SnmpAdminString, bldgHVACCfgTemplateStorage StorageType, bldgHVACCfgTemplateStatus RowStatus } bldgHVACCfgTemplateIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "A unique value for each defined template in this table. This value can be pointed to from any MIB Module that needs access to this information. The bldgHVACCfgTemplatePtr will point to entries in this table." ::= { bldgHVACCfgTemplateEntry 1 } bldgHVACCfgTemplateDesiredTemp OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-create STATUS current DESCRIPTION "This is the desired temperature setting. It might be changed at different times of the day or based on seasonal conditions. It is permitted to change this value by first moving the row to an inactive state, making the change and then reactivating the row." ::= { bldgHVACCfgTemplateEntry 2 } bldgHVACCfgTemplateCoolOrHeat OBJECT-TYPE SYNTAX HvacOperation MAX-ACCESS read-create STATUS current DESCRIPTION "This controls the heating and cooling mechanism and is set-able by building maintenance. It is permitted to change this value by first moving the row to an inactive state, making the change and then reactivating the row." ::= { bldgHVACCfgTemplateEntry 3 } bldgHVACCfgTemplateDescrPtr OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "This controls the heating and cooling mechanism and is set-able by building maintenance. It is permitted to change this value by first moving the row to an inactive state, making the change and then reactivating the row." ::= { bldgHVACCfgTemplateEntry 4 } bldgHVACCfgTemplateOwner OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "The identity that created this row of the table." ::= { bldgHVACCfgTemplateEntry 5 } bldgHVACCfgTemplateStorage OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The persistence of this row of the table across system resets." ::= { bldgHVACCfgTemplateEntry 6 } bldgHVACCfgTemplateStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row of the table." ::= { bldgHVACCfgTemplateEntry 7 } -- -- Conformance Information -- bldgCompliances OBJECT IDENTIFIER ::= { bldgConformance 1 } bldgGroups OBJECT IDENTIFIER ::= { bldgConformance 2 } -- Compliance Statements bldgCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The requirements for conformance to the BLDG-HVAC-MIB. The bldgHVACObjects group must be implemented to conform to the BLDG-HVAC-MIB." MODULE -- this module GROUP bldgHVACObjects DESCRIPTION "The bldgHVACObjects is mandatory for all systems that support HVAC systems." ::= { bldgCompliances 1 } bldgHVACObjectsGroup OBJECT-GROUP OBJECTS { bldgHVACFloor, bldgHVACOffice, bldgHVACCfgTemplatePtr, bldgHVACFanSpeed, bldgHVACCurrentTemp, bldgHVACCoolOrHeatMins, bldgHVACOwner, bldgHVACStatus, bldgHVACCfgPolicyIndex, bldgHVACCfgPolicyDescription, bldgHVACCfgPolicyOwner, bldgHVACCfgPolicyStatus, bldgHVACCfgTemplateIndex, bldgHVACCfgTemplateDesiredTemp, bldgHVACCfgTemplateCoolOrHeat, bldgHVACCfgTemplateDescrPtr, bldgHVACCfgTemplateOwner,bldgHVACCfgTemplateStorage, bldgHVACCfgTemplateStatus } STATUS current DESCRIPTION "The bldgHVACObjects Group." ::= { bldgGroups 1 } END -- -- -- Copyright (C) The Internet Society (2000). All Rights Reserved. -- -- -- -- This document and translations of it may be copied and furnished to -- others, and derivative works that comment on or otherwise explain -- it or assist in its implementation may be prepared, copied, pub- -- lished and distributed, in whole or in part, without restriction of -- any kind, provided that the above copyright notice and this -- paragraph are included on all such copies and derivative works. -- However, this document itself may not be modified in any way, such -- as by removing the copyright notice or references to the Internet -- Society or other Internet organizations, except as needed for the -- purpose of developing Internet standards in which case the proce- -- dures for copyrights defined in the Internet Standards process must -- be followed, or as required to translate it into languages other -- than English. -- -- -- -- The limited permissions granted above are perpetual and will not be -- revoked by the Internet Society or its successors or assigns. -- -- -- -- This document and the information contained herein is provided on -- an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGI- -- NEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, -- INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE -- INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WAR- -- RANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. --