1ENTITY-SENSOR-MIB DEFINITIONS ::= BEGIN
2
3IMPORTS
4        MODULE-IDENTITY, OBJECT-TYPE,
5        Integer32, Unsigned32, mib-2
6                FROM SNMPv2-SMI
7        MODULE-COMPLIANCE, OBJECT-GROUP
8                FROM SNMPv2-CONF
9        TEXTUAL-CONVENTION, TimeStamp
10                FROM SNMPv2-TC
11        entPhysicalIndex, entityPhysicalGroup
12                FROM ENTITY-MIB
13        SnmpAdminString
14                FROM SNMP-FRAMEWORK-MIB;
15
16entitySensorMIB MODULE-IDENTITY
17    LAST-UPDATED    "200212160000Z"
18    ORGANIZATION    "IETF Entity MIB Working Group"
19    CONTACT-INFO
20            "        Andy Bierman
21                     Cisco Systems, Inc.
22                Tel: +1 408-527-3711
23             E-mail: abierman@cisco.com
24             Postal: 170 West Tasman Drive
25                     San Jose, CA USA 95134
26
27                     Dan Romascanu
28                     Avaya Inc.
29                Tel: +972-3-645-8414
30              Email: dromasca@avaya.com
31             Postal: Atidim technology Park, Bldg. #3
32                     Tel Aviv, Israel, 61131
33
34                     K.C. Norseth
35                     L-3 Communications
36                Tel: +1 801-594-2809
37              Email: kenyon.c.norseth@L-3com.com
38             Postal: 640 N. 2200 West.
39
40                     Salt Lake City, Utah 84116-0850
41
42             Send comments to <entmib@ietf.org>
43             Mailing list subscription info:
44               http://www.ietf.org/mailman/listinfo/entmib "
45    DESCRIPTION
46            "This module defines Entity MIB extensions for physical
47             sensors.
48
49             Copyright (C) The Internet Society (2002). This version
50             of this MIB module is part of RFC 3433; see the RFC
51             itself for full legal notices."
52
53    REVISION        "200212160000Z"
54    DESCRIPTION
55            "Initial version of the Entity Sensor MIB module, published
56             as RFC 3433."
57    ::= { mib-2 99 }
58
59entitySensorObjects              OBJECT IDENTIFIER
60     ::= { entitySensorMIB 1 }
61
62-- entitySensorNotifications        OBJECT IDENTIFIER
63--     ::= { entitySensorMIB 2 }
64entitySensorConformance          OBJECT IDENTIFIER
65     ::= { entitySensorMIB 3 }
66
67--
68-- Textual Conventions
69--
70
71EntitySensorDataType ::= TEXTUAL-CONVENTION
72    STATUS       current
73    DESCRIPTION
74            "An object using this data type represents the Entity Sensor
75            measurement data type associated with a physical sensor
76            value. The actual data units are determined by examining an
77            object of this type together with the associated
78            EntitySensorDataScale object.
79
80            An object of this type SHOULD be defined together with
81            objects of type EntitySensorDataScale and
82            EntitySensorPrecision.  Together, associated objects of
83            these three types are used to identify the semantics of an
84            object of type EntitySensorValue.
85
86            Valid values are:
87
88               other(1):        a measure other than those listed below
89               unknown(2):      unknown measurement, or arbitrary,
90                                relative numbers
91               voltsAC(3):      electric potential
92               voltsDC(4):      electric potential
93               amperes(5):      electric current
94               watts(6):        power
95               hertz(7):        frequency
96               celsius(8):      temperature
97               percentRH(9):    percent relative humidity
98               rpm(10):         shaft revolutions per minute
99               cmm(11),:        cubic meters per minute (airflow)
100               truthvalue(12):  value takes { true(1), false(2) }
101            "
102    SYNTAX INTEGER {
103        other(1),
104        unknown(2),
105        voltsAC(3),
106        voltsDC(4),
107        amperes(5),
108        watts(6),
109        hertz(7),
110        celsius(8),
111        percentRH(9),
112        rpm(10),
113        cmm(11),
114        truthvalue(12)
115    }
116
117EntitySensorDataScale ::= TEXTUAL-CONVENTION
118    STATUS       current
119    DESCRIPTION
120            "An object using this data type represents a data scaling
121            factor, represented with an International System of Units
122            (SI) prefix.  The actual data units are determined by
123            examining an object of this type together with the
124            associated EntitySensorDataType object.
125
126            An object of this type SHOULD be defined together with
127            objects of type EntitySensorDataType and
128            EntitySensorPrecision.  Together, associated objects of
129            these three types are used to identify the semantics of an
130            object of type EntitySensorValue."
131    REFERENCE
132            "The International System of Units (SI),
133            National Institute of Standards and Technology,
134            Spec. Publ. 330, August 1991."
135    SYNTAX INTEGER {
136        yocto(1),   -- 10^-24
137        zepto(2),   -- 10^-21
138        atto(3),    -- 10^-18
139        femto(4),   -- 10^-15
140        pico(5),    -- 10^-12
141        nano(6),    -- 10^-9
142        micro(7),   -- 10^-6
143        milli(8),   -- 10^-3
144        units(9),   -- 10^0
145        kilo(10),   -- 10^3
146        mega(11),   -- 10^6
147        giga(12),   -- 10^9
148        tera(13),   -- 10^12
149        exa(14),    -- 10^15
150        peta(15),   -- 10^18
151        zetta(16),  -- 10^21
152        yotta(17)   -- 10^24
153    }
154
155EntitySensorPrecision ::= TEXTUAL-CONVENTION
156    STATUS       current
157    DESCRIPTION
158            "An object using this data type represents a sensor
159            precision range.
160
161            An object of this type SHOULD be defined together with
162            objects of type EntitySensorDataType and
163            EntitySensorDataScale.  Together, associated objects of
164            these three types are used to identify the semantics of an
165            object of type EntitySensorValue.
166
167            If an object of this type contains a value in the range 1 to
168            9, it represents the number of decimal places in the
169            fractional part of an associated EntitySensorValue fixed-
170            point number.
171
172            If an object of this type contains a value in the range -8
173            to -1, it represents the number of accurate digits in the
174            associated EntitySensorValue fixed-point number.
175
176            The value zero indicates the associated EntitySensorValue
177            object is not a fixed-point number.
178
179            Agent implementors must choose a value for the associated
180            EntitySensorPrecision object so that the precision and
181
182            accuracy of the associated EntitySensorValue object is
183            correctly indicated.
184
185            For example, a physical entity representing a temperature
186            sensor that can measure 0 degrees to 100 degrees C in 0.1
187            degree increments, +/- 0.05 degrees, would have an
188            EntitySensorPrecision value of '1', an EntitySensorDataScale
189            value of 'units(9)', and an EntitySensorValue ranging from
190            '0' to '1000'.  The EntitySensorValue would be interpreted
191            as 'degrees C * 10'."
192    SYNTAX Integer32 (-8..9)
193
194EntitySensorValue ::= TEXTUAL-CONVENTION
195    STATUS       current
196    DESCRIPTION
197            "An object using this data type represents an Entity Sensor
198            value.
199            An object of this type SHOULD be defined together with
200            objects of type EntitySensorDataType, EntitySensorDataScale
201            and EntitySensorPrecision.  Together, associated objects of
202            those three types are used to identify the semantics of an
203            object of this data type.
204
205            The semantics of an object using this data type are
206            determined by the value of the associated
207            EntitySensorDataType object.
208
209            If the associated EntitySensorDataType object is equal to
210            'voltsAC(3)', 'voltsDC(4)', 'amperes(5)', 'watts(6),
211            'hertz(7)', 'celsius(8)', or 'cmm(11)', then an object of
212            this type MUST contain a fixed point number ranging from
213            -999,999,999 to +999,999,999.  The value -1000000000
214            indicates an underflow error. The value +1000000000
215            indicates an overflow error.  The EntitySensorPrecision
216            indicates how many fractional digits are represented in the
217            associated EntitySensorValue object.
218
219            If the associated EntitySensorDataType object is equal to
220            'percentRH(9)', then an object of this type MUST contain a
221            number ranging from 0 to 100.
222
223            If the associated EntitySensorDataType object is equal to
224            'rpm(10)', then an object of this type MUST contain a number
225            ranging from -999,999,999 to +999,999,999.
226
227            If the associated EntitySensorDataType object is equal to
228            'truthvalue(12)', then an object of this type MUST contain
229            either the value 'true(1)' or the value 'false(2)'.
230
231            If the associated EntitySensorDataType object is equal to
232            'other(1)' or unknown(2)', then an object of this type MUST
233            contain a number ranging from -1000000000 to 1000000000."
234    SYNTAX Integer32 (-1000000000..1000000000)
235
236EntitySensorStatus ::= TEXTUAL-CONVENTION
237    STATUS       current
238    DESCRIPTION
239            "An object using this data type represents the operational
240            status of a physical sensor.
241
242            The value 'ok(1)' indicates that the agent can obtain the
243            sensor value.
244
245            The value 'unavailable(2)' indicates that the agent
246            presently cannot obtain the sensor value.
247
248            The value 'nonoperational(3)' indicates that the agent
249            believes the sensor is broken.  The sensor could have a hard
250            failure (disconnected wire), or a soft failure such as out-
251            of-range, jittery, or wildly fluctuating readings."
252    SYNTAX INTEGER {
253        ok(1),
254        unavailable(2),
255        nonoperational(3)
256    }
257
258--
259-- Entity Sensor Table
260--
261
262entPhySensorTable OBJECT-TYPE
263    SYNTAX        SEQUENCE OF EntPhySensorEntry
264    MAX-ACCESS    not-accessible
265    STATUS        current
266    DESCRIPTION
267            "This table contains one row per physical sensor represented
268            by an associated row in the entPhysicalTable."
269    ::= { entitySensorObjects 1 }
270
271entPhySensorEntry OBJECT-TYPE
272    SYNTAX        EntPhySensorEntry
273    MAX-ACCESS    not-accessible
274    STATUS        current
275    DESCRIPTION
276            "Information about a particular physical sensor.
277
278            An entry in this table describes the present reading of a
279            sensor, the measurement units and scale, and sensor
280            operational status.
281
282            Entries are created in this table by the agent.  An entry
283            for each physical sensor SHOULD be created at the same time
284            as the associated entPhysicalEntry.  An entry SHOULD be
285            destroyed if the associated entPhysicalEntry is destroyed."
286    INDEX  { entPhysicalIndex }    -- SPARSE-AUGMENTS
287    ::= { entPhySensorTable 1 }
288
289EntPhySensorEntry ::= SEQUENCE {
290        entPhySensorType            EntitySensorDataType,
291        entPhySensorScale           EntitySensorDataScale,
292        entPhySensorPrecision       EntitySensorPrecision,
293        entPhySensorValue           EntitySensorValue,
294        entPhySensorOperStatus      EntitySensorStatus,
295        entPhySensorUnitsDisplay    SnmpAdminString,
296        entPhySensorValueTimeStamp  TimeStamp,
297        entPhySensorValueUpdateRate Unsigned32
298}
299
300entPhySensorType OBJECT-TYPE
301    SYNTAX        EntitySensorDataType
302    MAX-ACCESS    read-only
303    STATUS        current
304    DESCRIPTION
305            "The type of data returned by the associated
306            entPhySensorValue object.
307
308            This object SHOULD be set by the agent during entry
309            creation, and the value SHOULD NOT change during operation."
310    ::= { entPhySensorEntry 1 }
311
312entPhySensorScale OBJECT-TYPE
313    SYNTAX        EntitySensorDataScale
314    MAX-ACCESS    read-only
315    STATUS        current
316    DESCRIPTION
317            "The exponent to apply to values returned by the associated
318            entPhySensorValue object.
319
320            This object SHOULD be set by the agent during entry
321            creation, and the value SHOULD NOT change during operation."
322    ::= { entPhySensorEntry 2 }
323
324entPhySensorPrecision OBJECT-TYPE
325    SYNTAX        EntitySensorPrecision
326    MAX-ACCESS    read-only
327    STATUS        current
328    DESCRIPTION
329            "The number of decimal places of precision in fixed-point
330            sensor values returned by the associated entPhySensorValue
331            object.
332
333            This object SHOULD be set to '0' when the associated
334            entPhySensorType value is not a fixed-point type: e.g.,
335            'percentRH(9)', 'rpm(10)', 'cmm(11)', or 'truthvalue(12)'.
336
337            This object SHOULD be set by the agent during entry
338            creation, and the value SHOULD NOT change during operation."
339    ::= { entPhySensorEntry 3 }
340
341entPhySensorValue OBJECT-TYPE
342    SYNTAX        EntitySensorValue
343    MAX-ACCESS    read-only
344    STATUS        current
345    DESCRIPTION
346            "The most recent measurement obtained by the agent for this
347            sensor.
348
349            To correctly interpret the value of this object, the
350            associated entPhySensorType, entPhySensorScale, and
351            entPhySensorPrecision objects must also be examined."
352    ::= { entPhySensorEntry 4 }
353
354entPhySensorOperStatus OBJECT-TYPE
355    SYNTAX        EntitySensorStatus
356    MAX-ACCESS    read-only
357    STATUS        current
358    DESCRIPTION
359            "The operational status of the sensor."
360    ::= { entPhySensorEntry 5 }
361
362entPhySensorUnitsDisplay OBJECT-TYPE
363    SYNTAX      SnmpAdminString
364    MAX-ACCESS  read-only
365    STATUS      current
366    DESCRIPTION
367            "A textual description of the data units that should be used
368            in the display of entPhySensorValue."
369    ::= { entPhySensorEntry 6 }
370
371entPhySensorValueTimeStamp OBJECT-TYPE
372    SYNTAX        TimeStamp
373    MAX-ACCESS    read-only
374    STATUS        current
375    DESCRIPTION
376            "The value of sysUpTime at the time the status and/or value
377            of this sensor was last obtained by the agent."
378    ::= { entPhySensorEntry 7 }
379
380entPhySensorValueUpdateRate  OBJECT-TYPE
381    SYNTAX        Unsigned32
382    UNITS         "milliseconds"
383    MAX-ACCESS    read-only
384    STATUS        current
385    DESCRIPTION
386            "An indication of the frequency that the agent updates the
387            associated entPhySensorValue object, representing in
388            milliseconds.
389
390            The value zero indicates:
391
392                - the sensor value is updated on demand (e.g.,
393                  when polled by the agent for a get-request),
394                - the sensor value is updated when the sensor
395                  value changes (event-driven),
396                - the agent does not know the update rate.
397            "
398    ::= { entPhySensorEntry 8 }
399
400--
401-- Conformance Section
402--
403
404entitySensorCompliances OBJECT IDENTIFIER
405    ::= { entitySensorConformance 1 }
406entitySensorGroups      OBJECT IDENTIFIER
407    ::= { entitySensorConformance 2 }
408
409entitySensorCompliance MODULE-COMPLIANCE
410    STATUS  current
411    DESCRIPTION
412            "Describes the requirements for conformance to the Entity
413            Sensor MIB module."
414    MODULE  -- this module
415        MANDATORY-GROUPS { entitySensorValueGroup }
416
417    MODULE ENTITY-MIB
418        MANDATORY-GROUPS { entityPhysicalGroup }
419    ::= { entitySensorCompliances 1 }
420
421-- Object Groups
422
423entitySensorValueGroup OBJECT-GROUP
424    OBJECTS {
425             entPhySensorType,
426             entPhySensorScale,
427             entPhySensorPrecision,
428             entPhySensorValue,
429             entPhySensorOperStatus,
430             entPhySensorUnitsDisplay,
431             entPhySensorValueTimeStamp,
432             entPhySensorValueUpdateRate
433    }
434    STATUS  current
435    DESCRIPTION
436            "A collection of objects representing physical entity sensor
437            information."
438    ::= { entitySensorGroups 1 }
439
440END
441