// Copyright (c) 2007 DMTF. All rights reserved. // Add write qualifier // to LowerThresholdNonCritical, UpperThresholdNonCritical, // LowerThresholdCritical, UpperThresholdCritical, LowerThresholdFatal, // UpperThresholdFatal.Add UmlPackagePath // qualifier values to CIM Schema. // Add PUnit qualifier values // to Units qualifier values. // Added Pascals to BaseUnit // ================================================================== // CIM_NumericSensor // ================================================================== [Version ( "2.16.0" ), UMLPackagePath ( "CIM::Device::Sensors" ), Description ( "A Numeric Sensor is capable of returning numeric readings and " "optionally supports thresholds settings." )] class CIM_NumericSensor : CIM_Sensor { [Description ( "The base unit of the values returned by this Sensor. All " "the values returned by this Sensor are represented in " "the units obtained by (BaseUnits * 10 raised to the " "power of the UnitModifier). For example, if BaseUnits is " "Volts and the UnitModifier is -6, then the units of the " "values returned are MicroVolts. However, if the " "RateUnits property is set to a value other than \"None\", " "then the units are further qualified as rate units. In " "the above example, if RateUnits is set to \"Per Second\", " "then the values returned by the Sensor are in " "MicroVolts/Second. The units apply to all numeric " "properties of the Sensor, unless explicitly overridden " "by the Units qualifier." ), ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66" }, Values { "Unknown", "Other", "Degrees C", "Degrees F", "Degrees K", "Volts", "Amps", "Watts", "Joules", "Coulombs", //10 "VA", "Nits", "Lumens", "Lux", "Candelas", "kPa", "PSI", "Newtons", "CFM", "RPM", //20 "Hertz", "Seconds", "Minutes", "Hours", "Days", "Weeks", "Mils", "Inches", "Feet", "Cubic Inches", //30 "Cubic Feet", "Meters", "Cubic Centimeters", "Cubic Meters", "Liters", "Fluid Ounces", "Radians", "Steradians", "Revolutions", "Cycles", //40 "Gravities", "Ounces", "Pounds", "Foot-Pounds", "Ounce-Inches", "Gauss", "Gilberts", "Henries", "Farads", "Ohms", //50 "Siemens", "Moles", "Becquerels", "PPM (parts/million)", "Decibels", "DbA", "DbC", "Grays", "Sieverts", "Color Temperature Degrees K", //60 "Bits", "Bytes", "Words (data)", "DoubleWords", "QuadWords", "Percentage", "Pascals" }, ModelCorrespondence { "CIM_NumericSensor.UnitModifier", "CIM_NumericSensor.RateUnits" }] uint16 BaseUnits; [Description ( "The unit multiplier for the values returned by this " "Sensor. All the values returned by this Sensor are " "represented in the units obtained by (BaseUnits * 10 " "raised to the power of the UnitModifier). For example, " "if BaseUnits is Volts and the Unit Modifier is -6, then " "the units of the values returned are MicroVolts. " "However, if the RateUnits property is set to a value " "other than \"None\", then the units are further " "qualified as rate units. In the above example, if " "RateUnits is set to \"Per Second\", then the values " "returned by the Sensor are in MicroVolts/Second. The " "units apply to all numeric properties of the Sensor, " "unless explicitly overridden by the Units qualifier." ), ModelCorrespondence { "CIM_NumericSensor.BaseUnits", "CIM_NumericSensor.RateUnits" }] sint32 UnitModifier; [Description ( "Specifies if the units returned by this Sensor are rate " "units. All the values returned by this Sensor are " "represented in the units obtained by (BaseUnits * 10 " "raised to the power of the UnitModifier). This is true " "unless this property (RateUnits) has a value different " "than \"None\". For example, if BaseUnits is Volts and " "the UnitModifier is -6, then the units of the values " "returned are MicroVolts. But, if the RateUnits property " "is set to a value other than \"None\", then the units " "are further qualified as rate units. In the above " "example, if RateUnits is set to \"Per Second\", then the " "values returned by the Sensor are in MicroVolts/Second. " "The units apply to all numeric properties of the Sensor, " "unless explicitly overridden by the Units qualifier. Any " "implementation of CurrentReading should be qualified " "with either a Counter or a Gauge qualifier, depending on " "the characteristics of the sensor being modeled." ), ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" }, Values { "None", "Per MicroSecond", "Per MilliSecond", "Per Second", "Per Minute", "Per Hour", "Per Day", "Per Week", "Per Month", "Per Year" }, ModelCorrespondence { "CIM_NumericSensor.UnitModifier", "CIM_NumericSensor.BaseUnits" }] uint16 RateUnits; [Description ( "The current value indicated by the Sensor." ), MappingStrings { "MIF.DMTF|Temperature Probe|002.5", "MIF.DMTF|Electrical Current Probe|001.5", "MIF.DMTF|Voltage Probe|001.5" }] sint32 CurrentReading; [Description ( "NominalReading indicates the \'normal\' or expected " "value for the NumericSensor." ), MappingStrings { "MIF.DMTF|Temperature Probe|002.6", "MIF.DMTF|Electrical Current Probe|001.6", "MIF.DMTF|Voltage Probe|001.6" }] sint32 NominalReading; [Description ( "NormalMax provides guidance for the user as to the " "normal maximum range for the NumericSensor." ), MappingStrings { "MIF.DMTF|Temperature Probe|002.7", "MIF.DMTF|Electrical Current Probe|001.7", "MIF.DMTF|Voltage Probe|001.7" }] sint32 NormalMax; [Description ( "NormalMin provides guidance for the user as to the " "normal minimum range for the NumericSensor." ), MappingStrings { "MIF.DMTF|Temperature Probe|002.8", "MIF.DMTF|Electrical Current Probe|001.8", "MIF.DMTF|Voltage Probe|001.8" }] sint32 NormalMin; [Description ( "MaxReadable indicates the largest value of the measured " "property that can be read by the NumericSensor." ), MappingStrings { "MIF.DMTF|Temperature Probe|002.9", "MIF.DMTF|Electrical Current Probe|001.9", "MIF.DMTF|Voltage Probe|001.9" }] sint32 MaxReadable; [Description ( "MinReadable indicates the smallest value of the measured " "property that can be read by the NumericSensor." ), MappingStrings { "MIF.DMTF|Temperature Probe|002.10", "MIF.DMTF|Electrical Current Probe|001.10", "MIF.DMTF|Voltage Probe|001.10" }] sint32 MinReadable; [Description ( "Resolution indicates the ability of the Sensor to " "resolve differences in the measured property. The units " "for this measurement are determined by " "BaseUnit*UnitModifier/RateUnit." ), MappingStrings { "MIF.DMTF|Temperature Probe|002.17", "MIF.DMTF|Electrical Current Probe|001.17", "MIF.DMTF|Voltage Probe|001.17" }] uint32 Resolution; [Deprecated { "CIM_NumericSensor.Resolution", "CIM_NumericSensor.Accuracy" }, Description ( "This property is being deprecated in lieu of using the " "Resolution and Accuracy properties. \n" "Indicates the tolerance of the Sensor for the measured " "property. Tolerance, along with Resolution and Accuracy, " "is used to calculate the actual value of the measured " "physical property. Tolerance may vary depending on " "whether the Device is linear over its dynamic range." )] sint32 Tolerance; [Description ( "Indicates the accuracy of the Sensor for the measured " "property. Its value is recorded as plus/minus hundredths " "of a percent. Accuracy, along with Resolution, is used " "to calculate the actual value of the measured physical " "property. Accuracy may vary depending on whether the " "Device is linear over its dynamic range." ), Units ( "Hundredths of Percent" ), MappingStrings { "MIF.DMTF|Temperature Probe|002.19", "MIF.DMTF|Electrical Current Probe|001.19", "MIF.DMTF|Voltage Probe|001.19" }, PUnit ( "percent * 10^-2" )] sint32 Accuracy; [Description ( "Indicates that the Sensor is linear over its dynamic range." )] boolean IsLinear; [Description ( "Indicates the margin built around the thresholds. This " "margin prevents unnecessary state changes when the " "Sensor reading may fluctuate very close to its " "thresholds. This could be due to the Sensor\'s " "tolerance/accuracy/resolution or due to environmental " "factors. Once a threshold is crossed, the state of the " "Sensor should change. However, the state should not " "fluctuate between the old and new states unless the " "Sensor\'s change in the reading exceeds the hysteresis " "value. The units for this measurement are determined by " "BaseUnit*UnitModifier/RateUnit." )] uint32 Hysteresis; [Write, Description ( "The Sensor\'s threshold values specify the ranges (min " "and max values) for determining whether the Sensor is " "operating under Normal, NonCritical, Critical or Fatal " "conditions. If Current Reading is between " "LowerThresholdNonCritical and Upper " "ThresholdNonCritical, then the Sensor is reporting a " "normal value. If CurrentReading is between " "LowerThresholdNonCritical and LowerThresholdCritical, " "then the CurrentState is NonCritical." ), MappingStrings { "MIF.DMTF|Temperature Probe|002.11", "MIF.DMTF|Electrical Current Probe|001.11", "MIF.DMTF|Voltage Probe|001.11" }] sint32 LowerThresholdNonCritical; [Write, Description ( "The Sensor\'s threshold values specify the ranges (min " "and max values) for determining whether the Sensor is " "operating under Normal, NonCritical, Critical or Fatal " "conditions. If the CurrentReading is between " "LowerThresholdNonCritical and UpperThresholdNonCritical, " "then the Sensor is reporting a normal value. If the " "CurrentReading is between UpperThreshold NonCritical and " "UpperThresholdCritical, then the CurrentState is " "NonCritical." ), MappingStrings { "MIF.DMTF|Temperature Probe|002.12", "MIF.DMTF|Electrical Current Probe|001.12", "MIF.DMTF|Voltage Probe|001.12" }] sint32 UpperThresholdNonCritical; [Write, Description ( "The Sensor\'s threshold values specify the ranges (min " "and max values) for determining whether the Sensor is " "operating under Normal, NonCritical, Critical or Fatal " "conditions. If the CurrentReading is between " "LowerThresholdCritical and Lower ThresholdFatal, then " "the CurrentState is Critical." ), MappingStrings { "MIF.DMTF|Temperature Probe|002.13", "MIF.DMTF|Electrical Current Probe|001.13", "MIF.DMTF|Voltage Probe|001.13" }] sint32 LowerThresholdCritical; [Write, Description ( "The Sensor\'s threshold values specify the ranges (min " "and max values) for determining whether the Sensor is " "operating under Normal, NonCritical, Critical or Fatal " "conditions. If the CurrentReading is between " "UpperThresholdCritical and Upper ThresholdFatal, then " "the CurrentState is Critical." ), MappingStrings { "MIF.DMTF|Temperature Probe|002.14", "MIF.DMTF|Electrical Current Probe|001.14", "MIF.DMTF|Voltage Probe|001.14" }] sint32 UpperThresholdCritical; [Write, Description ( "The Sensor\'s threshold values specify the ranges (min " "and max values) for determining whether the Sensor is " "operating under Normal, NonCritical, Critical or Fatal " "conditions. If the CurrentReading is below " "LowerThresholdFatal, then the Current State is Fatal." ), MappingStrings { "MIF.DMTF|Temperature Probe|002.15", "MIF.DMTF|Electrical Current Probe|001.15", "MIF.DMTF|Voltage Probe|001.15" }] sint32 LowerThresholdFatal; [Write, Description ( "The Sensor\'s threshold values specify the ranges (min " "and max values) for determining whether the Sensor is " "operating under Normal, NonCritical, Critical or Fatal " "conditions. If the CurrentReading is above " "UpperThresholdFatal, then the Current State is Fatal." ), MappingStrings { "MIF.DMTF|Temperature Probe|002.16", "MIF.DMTF|Electrical Current Probe|001.16", "MIF.DMTF|Voltage Probe|001.16" }] sint32 UpperThresholdFatal; [Description ( "An array representing the thresholds supported by this Sensor." ), ValueMap { "0", "1", "2", "3", "4", "5" }, Values { "LowerThresholdNonCritical", "UpperThresholdNonCritical", "LowerThresholdCritical", "UpperThresholdCritical", "LowerThresholdFatal", "UpperThresholdFatal" }] uint16 SupportedThresholds[]; [Description ( "An array representing the thresholds that are currently " "enabled for this Sensor." ), ValueMap { "0", "1", "2", "3", "4", "5" }, Values { "LowerThresholdNonCritical", "UpperThresholdNonCritical", "LowerThresholdCritical", "UpperThresholdCritical", "LowerThresholdFatal", "UpperThresholdFatal" }] uint16 EnabledThresholds[]; [Description ( "An array representing the writable thresholds supported by Sensor." ), ValueMap { "0", "1", "2", "3", "4", "5" }, Values { "LowerThresholdNonCritical", "UpperThresholdNonCritical", "LowerThresholdCritical", "UpperThresholdCritical", "LowerThresholdFatal", "UpperThresholdFatal" }] uint16 SettableThresholds[]; [Description ( "This method resets the values of the thresholds to " "hardware defaults. This method returns 0 if successful, " "1 if unsupported and any other value if an error " "occurred. In a subclass, the set of possible return " "codes could be specified, using a ValueMap qualifier on " "the method. The strings to which the ValueMap contents " "are \'translated\' may also be specified in the subclass " "as a Values array qualifier." )] uint32 RestoreDefaultThresholds( ); [Deprecated { "No Value" }, Description ( "The use of this method is being deprecated, since " "Current senor reading can be retrieved through the " "GetInstance operation. \n" "For a non-linear Sensor, the resolution, accuracy, " "tolerance and hysteresis vary as the current reading " "moves. This method can be used to get these factors for " "a given reading. It returns 0 if successful, 1 if " "unsupported, and any other value if an error occurred. " "In a subclass, the set of possible return codes could be " "specified, using a ValueMap qualifier on the method. The " "strings to which the ValueMap contents are \'translated\' " "may also be specified in the subclass as a Values array " "qualifier." )] uint32 GetNonLinearFactors( [IN, Description ( "The sensor reading to get information for." )] sint32 SensorReading, [IN ( false ), OUT, Description ( "The accuracy of the reading." )] sint32 Accuracy, [IN ( false ), OUT, Description ( "The resolution of the reading." )] uint32 Resolution, [IN ( false ), OUT, Description ( "The tolerance of the reading." )] sint32 Tolerance, [IN ( false ), OUT, Description ( "The Hysteresis of the reading." )] uint32 Hysteresis); };