// =================================================================== // Title: Device Sensors and Alarms 2.7 // Filename: Device27_Sensors.mof // Version: 2.7.0 // Release: Preliminary // Date: 07/17/02 // =================================================================== // Copyright 2002 Distributed Management Task Force, Inc. (DMTF). // All rights reserved. // DMTF is a not-for-profit association of industry members dedicated // to promoting enterprise and systems management and interoperability. // DMTF specifications and documents may be reproduced for uses // consistent with this purpose by members and non-members, // provided that correct attribution is given. // As DMTF specifications may be revised from time to time, // the particular version and release date should always be noted. // // Implementation of certain elements of this standard or proposed // standard may be subject to third party patent rights, including // provisional patent rights (herein "patent rights"). DMTF makes // no representations to users of the standard as to the existence // of such rights, and is not responsible to recognize, disclose, or // identify any or all such third party patent right, owners or // claimants, nor for any incomplete or inaccurate identification or // disclosure of such rights, owners or claimants. DMTF shall have no // liability to any party, in any manner or circumstance, under any // legal theory whatsoever, for failure to recognize, disclose, or // identify any such third party patent rights, or for such party's // reliance on the standard or incorporation thereof in its product, // protocols or testing procedures. DMTF shall have no liability to // any party implementing such standard, whether such implementation // is foreseeable or not, nor to any patent owner or claimant, and shall // have no liability or responsibility for costs or losses incurred if // a standard is withdrawn or modified after publication, and shall be // indemnified and held harmless by any party implementing the // standard from any and all claims of infringement by a patent owner // for such implementations. // // For information about patents held by third-parties which have // notified the DMTF that, in their opinion, such patent may relate to // or impact implementations of DMTF standards, visit // http://www.dmtf.org/about/policies/disclosures.php. // =================================================================== // Description: The Device Model extends the management concepts that // are related to LogicalDevices. This file describes // the management of sensors (including LEDs, Buzzers, // WatchDog processors, etc.). // // The object classes below are listed in an order that // avoids forward references. Required objects, defined // by other working groups, are omitted. // ================================================================== // Change Log for v2.7 // CR621 - Promote subclassing of PackageTempSensor and PackageAlarm // from Dependency to PackageDependency and deprecate them. // CR771 - Add the composition qualifer to CollectionOfSensors // ================================================================== #pragma locale ("en_US") // =================================================================== // Sensor // =================================================================== [Abstract, Version ("2.6.0"), Description ( "A Sensor is a hardware device capable of measuring the " "characteristics of some physical property - for example, the " "temperature or voltage characteristics of a UnitaryComputer" "System.") ] class CIM_Sensor : CIM_LogicalDevice { [Description ( "The Type of the Sensor, e.g. Voltage or Temperature Sensor. " "If the type is set to \"Other\", then the OtherSensorType" "Description can be used to further identify the type, or if " "the Sensor has numeric readings, then the type of the Sensor " "can be implicitly determined by the Units. A description of " "the different Sensor types is as follows: A Temperature " "Sensor measures the environmental temperature. Voltage and " "Current Sensors measure electrical voltage and current " "readings. A Tachometer measures speed/revolutions of a " "Device. For example, a Fan Device can have an associated " "Tachometer which measures its speed. A Counter is a general " "purpose Sensor that measures some numerical property of a " "Device. A Counter value can be cleared, but it never " "decreases. A Switch Sensor has states like Open/Close, " "On/Off, or Up/Down. A Lock has states of Locked/Unlocked. " "Humidity, Smoke Detection and Air Flow Sensors measure the " "equivalent environmental characteristics. A Presence Sensor " "detects the presence of a PhysicalElement."), ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, Values {"Unknown", "Other", "Temperature", "Voltage", "Current", "Tachometer", "Counter", "Switch", "Lock", "Humidity", "Smoke Detection", "Presence", "Air Flow"}, ModelCorrespondence {"CIM_Sensor.OtherSensorTypeDescription"} ] uint16 SensorType; [MaxLen (128), Description ( "A string describing the Sensor type - used when the " "SensorType property is set to \"Other\"."), ModelCorrespondence {"CIM_Sensor.SensorType"} ] string OtherSensorTypeDescription; [MaxLen (128), Description ( "PossibleStates enumerates the string outputs of the Sensor. " "For example, a \"Switch\" Sensor may output the states \"On\"," " or \"Off\". Another implementation of the Switch may output " "the states \"Open\", and \"Close\". Another example is a " "NumericSensor supporting thresholds. This Sensor can report " "the states like \"Normal\", \"Upper Fatal\", " "\"Lower Non-Critical\", etc. A NumericSensor that does not " "publish readings and thresholds, but stores this data " "internally, can still report its states.") ] string PossibleStates[]; [MaxLen (128), Description ( "The current state indicated by the Sensor. This is always " "one of the \"PossibleStates\".") ] string CurrentState; [Description ( "The polling interval that the Sensor hardware or the " "instrumentation uses to determine the current state of the " "Sensor."), Units ("NanoSeconds") ] uint64 PollingInterval; }; // =================================================================== // AssociatedSensor // =================================================================== [Association, Version ("2.6.0"), Description ( "Many Devices include Sensors or have Sensors installed " "nearby, in order to measure critical input and output " "properties. This association indicates that relationship.") ] class CIM_AssociatedSensor : CIM_Dependency { [Override ("Antecedent"), Description ("The Sensor.") ] CIM_Sensor REF Antecedent; [Override ("Dependent"), Description ( "The LogicalDevice for which information is measured by " "the Sensor.") ] CIM_LogicalDevice REF Dependent; }; // =================================================================== // BinarySensor // =================================================================== [Version ("2.6.0"), Description ( "A BinarySensor provides a boolean output. Given the addition " "of the CurrentState and PossibleStates properties to Sensor, " "the BinarySensor subclass is no longer necessary, but is " "retained for backward compatibility. A BinarySensor can be " "created by instantiating a Sensor with two PossibleStates.") ] class CIM_BinarySensor : CIM_Sensor { [Description ( "The current value indicated by the Sensor.") ] boolean CurrentReading; [Description ( "ExpectedReading indicates the 'normal' value for the " "Sensor.") ] boolean ExpectedReading; [MaxLen (64), Description ( "InterpretationOfTrue is a string indicating what a 'True' " "value from the BinarySensor means. This information could " "be displayed to a user.") ] string InterpretationOfTrue; [MaxLen (64), Description ( "InterpretationOfFalse is a string indicating what a 'False' " "value from the BinarySensor means. This information could " "be displayed to a user.") ] string InterpretationOfFalse; }; // =================================================================== // MultiStateSensor // =================================================================== [Version ("2.6.0"), Description ( "A Multi-StateSensor is a multi-member set of Sensors.") ] class CIM_MultiStateSensor : CIM_Sensor { }; // =================================================================== // CollectionOfSensors // =================================================================== [Association, Aggregation, Composition, Version ("2.7.0"), Description ( "The CollectionOfSensors association indicates the " "Sensors that make up a MultiStateSensor.") ] class CIM_CollectionOfSensors : CIM_Component { [Override ("GroupComponent"), Aggregate, Max (1), Description ("The MultiStateSensor.") ] CIM_MultiStateSensor REF GroupComponent; [Override ("PartComponent"), Min (2), Description ( "A Sensor that is part of the MultiStateSensor.") ] CIM_Sensor REF PartComponent; }; // =================================================================== // NumericSensor // =================================================================== [Version ("2.6.0"), 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"}, 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"}, 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.") ] sint32 CurrentReading; [Description ( "NominalReading indicates the 'normal' or expected value " "for the NumericSensor.") ] sint32 NominalReading; [Description ( "NormalMax provides guidance for the user as to the " "normal maximum range for the NumericSensor.") ] sint32 NormalMax; [Description ( "NormalMin provides guidance for the user as to the " "normal minimum range for the NumericSensor.") ] sint32 NormalMin; [Description ( "MaxReadable indicates the largest value of the measured " "property that can be read by the NumericSensor.") ] sint32 MaxReadable; [Description ( "MinReadable indicates the smallest value of the measured " "property that can be read by the NumericSensor.") ] sint32 MinReadable; [Description ( "Resolution indicates the ability of the Sensor to resolve " "differences in the measured property. This value may vary " "depending on whether the Device is linear over its dynamic " "range.") ] uint32 Resolution; [Description ( "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 and Tolerance, " "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") ] 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.") ] uint32 Hysteresis; [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.") ] sint32 LowerThresholdNonCritical; [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.") ] sint32 UpperThresholdNonCritical; [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.") ] sint32 LowerThresholdCritical; [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.") ] sint32 UpperThresholdCritical; [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.") ] sint32 LowerThresholdFatal; [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.") ] 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(); [Description ( "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] sint32 SensorReading, [IN (false), OUT] sint32 Accuracy, [IN (false), OUT] uint32 Resolution, [IN (false), OUT] sint32 Tolerance, [IN (false), OUT] uint32 Hysteresis); }; // =================================================================== // DiscreteSensor // =================================================================== [Version ("2.6.0"), Description ( "A DiscreteSensor has a set of legal string values, " "that it can report. These values are enumerated in the " "Sensor's PossibleValues property. A DiscreteSensor will " "always have a 'current reading' that corresponds to one of " "the enumerated values. \n" "Given the addition of the CurrentState and PossibleStates " "properties to Sensor, the DiscreteSensor subclass is no longer " "necessary, but is retained for backward compatibility. " "Information in the CurrentReading and PossibleValues properties " "will typically have the same values and semantics as for the " "CurrentState and PossibleStates properties, inherited from " "Sensor.") ] class CIM_DiscreteSensor : CIM_Sensor { [MaxLen (64), Description ( "The current value indicated by the Sensor.") ] string CurrentReading; [MaxLen (64), Description ( "PossibleValues enumerates the string outputs that can be " "reported by the DiscreteSensor.") ] string PossibleValues[]; [MaxLen (64), Description ( "AcceptableValues details which of the PossibleValues strings " "are considered 'acceptable' (ie, 'not an error').") ] string AcceptableValues[]; }; // =================================================================== // TemperatureSensor // =================================================================== [Version ("2.6.0"), Description ( "This class exists for backward compatibility to earlier " "CIM Schema definitions. With additions to Sensor and Numeric" "Sensor in V2.2, it is no longer necessary. A TempertatureSensor " "can be defined by setting the SensorType property, inherited " "from Sensor, to 2 (\"Temperature\"). Other properties of this " "class are hard-coded to constant values to correspond to " "definitions in the Sensor hierarchy.") ] class CIM_TemperatureSensor : CIM_NumericSensor { [Override( "SensorType") ] uint16 SensorType = 2; [Override( "BaseUnits") ] uint16 BaseUnits = 2; [Override( "UnitModifier") ] sint32 UnitModifier = -1; [Override( "RateUnits") ] uint16 RateUnits = 0; [Override ("CurrentReading"), MappingStrings {"MIF.DMTF|Temperature Probe|002.5"} ] sint32 CurrentReading; [Override ("NominalReading"), MappingStrings {"MIF.DMTF|Temperature Probe|002.6"} ] sint32 NominalReading; [Override ("NormalMax"), MappingStrings {"MIF.DMTF|Temperature Probe|002.7"} ] sint32 NormalMax; [Override ("NormalMin"), MappingStrings {"MIF.DMTF|Temperature Probe|002.8"} ] sint32 NormalMin; [Override ("MaxReadable"), MappingStrings {"MIF.DMTF|Temperature Probe|002.9"} ] sint32 MaxReadable; [Override ("MinReadable"), MappingStrings {"MIF.DMTF|Temperature Probe|002.10"} ] sint32 MinReadable; [Override ("Resolution"), Units ("Hundredths of Degrees C"), MappingStrings {"MIF.DMTF|Temperature Probe|002.17"} ] uint32 Resolution; [Override ("Tolerance"), MappingStrings {"MIF.DMTF|Temperature Probe|002.18"} ] sint32 Tolerance; [Override ("Accuracy"), MappingStrings {"MIF.DMTF|Temperature Probe|002.19"} ] sint32 Accuracy; [Override ("LowerThresholdNonCritical"), MappingStrings {"MIF.DMTF|Temperature Probe|002.11"} ] sint32 LowerThresholdNonCritical; [Override ("UpperThresholdNonCritical"), MappingStrings {"MIF.DMTF|Temperature Probe|002.12"} ] sint32 UpperThresholdNonCritical; [Override ("LowerThresholdCritical"), MappingStrings {"MIF.DMTF|Temperature Probe|002.13"} ] sint32 LowerThresholdCritical; [Override ("UpperThresholdCritical"), MappingStrings {"MIF.DMTF|Temperature Probe|002.14"} ] sint32 UpperThresholdCritical; [Override ("LowerThresholdFatal"), MappingStrings {"MIF.DMTF|Temperature Probe|002.15"} ] sint32 LowerThresholdFatal; [Override ("UpperThresholdFatal"), MappingStrings {"MIF.DMTF|Temperature Probe|002.16"} ] sint32 UpperThresholdFatal; }; // =================================================================== // CurrentSensor // =================================================================== [Version ("2.6.0"), Description ( "This class exists for backward compatibility to earlier " "CIM Schema definitions. With additions to Sensor and Numeric" "Sensor in V2.2, it is no longer necessary. A CurrentSensor can " "be defined by setting the SensorType property, inherited from " "Sensor, to 4 (\"Current\"). Other properties of this class are " "hard-coded to constant values to correspond to definitions in " "the Sensor hierarchy.") ] class CIM_CurrentSensor : CIM_NumericSensor { [Override( "SensorType") ] uint16 SensorType = 4; [Override( "BaseUnits") ] uint16 BaseUnits = 6; [Override( "UnitModifier") ] sint32 UnitModifier = -3; [Override( "RateUnits") ] uint16 RateUnits = 0; [Override ("CurrentReading"), MappingStrings {"MIF.DMTF|Electrical Current Probe|001.5"} ] sint32 CurrentReading; [Override ("NominalReading"), MappingStrings {"MIF.DMTF|Electrical Current Probe|001.6"} ] sint32 NominalReading; [Override ("NormalMax"), MappingStrings {"MIF.DMTF|Electrical Current Probe|001.7"} ] sint32 NormalMax; [Override ("NormalMin"), MappingStrings {"MIF.DMTF|Electrical Current Probe|001.8"} ] sint32 NormalMin; [Override ("MaxReadable"), MappingStrings {"MIF.DMTF|Electrical Current Probe|001.9"} ] sint32 MaxReadable; [Override ("MinReadable"), MappingStrings {"MIF.DMTF|Electrical Current Probe|001.10"} ] sint32 MinReadable; [Override ("Resolution"), Units ("Tenths of MilliAmps"), MappingStrings {"MIF.DMTF|Electrical Current Probe|001.17"} ] uint32 Resolution; [Override ("Tolerance"), MappingStrings {"MIF.DMTF|Electrical Current Probe|001.18"} ] sint32 Tolerance; [Override ("Accuracy"), MappingStrings {"MIF.DMTF|Electrical Current Probe|001.19"} ] sint32 Accuracy; [Override ("LowerThresholdNonCritical"), MappingStrings {"MIF.DMTF|Electrical Current Probe|001.11"} ] sint32 LowerThresholdNonCritical; [Override ("UpperThresholdNonCritical"), MappingStrings {"MIF.DMTF|Electrical Current Probe|001.12"} ] sint32 UpperThresholdNonCritical; [Override ("LowerThresholdCritical"), MappingStrings {"MIF.DMTF|Electrical Current Probe|001.13"} ] sint32 LowerThresholdCritical; [Override ("UpperThresholdCritical"), MappingStrings {"MIF.DMTF|Electrical Current Probe|001.14"} ] sint32 UpperThresholdCritical; [Override ("LowerThresholdFatal"), MappingStrings {"MIF.DMTF|Electrical Current Probe|001.15"} ] sint32 LowerThresholdFatal; [Override ("UpperThresholdFatal"), MappingStrings {"MIF.DMTF|Electrical Current Probe|001.16"} ] sint32 UpperThresholdFatal; }; // =================================================================== // VoltageSensor // =================================================================== [Version ("2.6.0"), Description ( "This class exists for backward compatibility to earlier " "CIM Schema definitions. With additions to Sensor and Numeric" "Sensor in V2.2, it is no longer necessary. A VoltageSensor can " "be defined by setting the SensorType property, inherited from " "Sensor, to 3 (\"Voltage\"). Other properties of this class are " "hard-coded to constant values to correspond to definitions in " "the Sensor hierarchy.") ] class CIM_VoltageSensor : CIM_NumericSensor { [Override( "SensorType") ] uint16 SensorType = 3; [Override( "BaseUnits") ] uint16 BaseUnits = 5; [Override( "UnitModifier") ] sint32 UnitModifier = -3; [Override( "RateUnits") ] uint16 RateUnits = 0; [Override ("CurrentReading"), MappingStrings {"MIF.DMTF|Voltage Probe|001.5"} ] sint32 CurrentReading; [Override ("NominalReading"), MappingStrings {"MIF.DMTF|Voltage Probe|001.6"} ] sint32 NominalReading; [Override ("NormalMax"), MappingStrings {"MIF.DMTF|Voltage Probe|001.7"} ] sint32 NormalMax; [Override ("NormalMin"), MappingStrings {"MIF.DMTF|Voltage Probe|001.8"} ] sint32 NormalMin; [Override ("MaxReadable"), MappingStrings {"MIF.DMTF|Voltage Probe|001.9"} ] sint32 MaxReadable; [Override ("MinReadable"), MappingStrings {"MIF.DMTF|Voltage Probe|001.10"} ] sint32 MinReadable; [Override ("Resolution"), Units ("Tenths of MilliVolts"), MappingStrings {"MIF.DMTF|Voltage Probe|001.17"} ] uint32 Resolution; [Override ("Tolerance"), MappingStrings {"MIF.DMTF|Voltage Probe|001.18"} ] sint32 Tolerance; [Override ("Accuracy"), MappingStrings {"MIF.DMTF|Voltage Probe|001.19"} ] sint32 Accuracy; [Override ("LowerThresholdNonCritical"), MappingStrings {"MIF.DMTF|Voltage Probe|001.11"} ] sint32 LowerThresholdNonCritical; [Override ("UpperThresholdNonCritical"), MappingStrings {"MIF.DMTF|Voltage Probe|001.12"} ] sint32 UpperThresholdNonCritical; [Override ("LowerThresholdCritical"), MappingStrings {"MIF.DMTF|Voltage Probe|001.13"} ] sint32 LowerThresholdCritical; [Override ("UpperThresholdCritical"), MappingStrings {"MIF.DMTF|Voltage Probe|001.14"} ] sint32 UpperThresholdCritical; [Override ("LowerThresholdFatal"), MappingStrings {"MIF.DMTF|Voltage Probe|001.15"} ] sint32 LowerThresholdFatal; [Override ("UpperThresholdFatal"), MappingStrings {"MIF.DMTF|Voltage Probe|001.16"} ] sint32 UpperThresholdFatal; }; // =================================================================== // Tachometer // =================================================================== [Version ("2.6.0"), Description ( "This class exists for backward compatibility to earlier " "CIM Schema definitions. With additions to Sensor and Numeric" "Sensor in V2.2, it is no longer necessary. A Tachometer can " "be defined by setting the SensorType property. inherited from " "Sensor, to 5 (\"Tachometer\"). Other properties of this class " "are hard-coded to constant values to correspond to definitions " "in the Sensor hierarchy.") ] class CIM_Tachometer : CIM_NumericSensor { [Override( "SensorType") ] uint16 SensorType = 5; [Override( "BaseUnits") ] uint16 BaseUnits = 38; [Override( "UnitModifier") ] sint32 UnitModifier = 1; [Override( "RateUnits") ] uint16 RateUnits = 4; [Override ("Resolution"), Units ("Tenths of Revolutions per Minute") ] uint32 Resolution; }; // =================================================================== // AssociatedSupplyVoltageSensor // =================================================================== [Association, Version ("2.6.0"), Description ( "A PowerSupply may have an associated VoltageSensor, monitoring " "its input voltage. This is described by this association.") ] class CIM_AssociatedSupplyVoltageSensor : CIM_AssociatedSensor { [Override ("Antecedent"), Description ("The VoltageSensor.") ] CIM_VoltageSensor REF Antecedent; [Override ("Dependent"), Description ( "The PowerSupply associated with the VoltageSensor.") ] CIM_PowerSupply REF Dependent; [Description ( "Indicates the PowerSupply's input voltage range measured " "by the associated sensor. Range 1, 2 or both can be specified " "using the values 2, 3 or 4, respectively."), ValueMap {"0", "1", "2", "3", "4"}, Values {"Unknown", "Other", "Range 1", "Range 2", "Both Range 1 and 2"} ] uint16 MonitoringRange; }; // =================================================================== // AssociatedSupplyCurrentSensor // =================================================================== [Association, Version ("2.6.0"), Description ( "A PowerSupply may have an associated CurrentSensor, monitoring " "its input frequency. This is described by this association.") ] class CIM_AssociatedSupplyCurrentSensor : CIM_AssociatedSensor { [Override ("Antecedent"), Description ("The CurrentSensor.") ] CIM_CurrentSensor REF Antecedent; [Override ("Dependent"), Description ( "The PowerSupply associated with the CurrentSensor.") ] CIM_PowerSupply REF Dependent; [Description ( "Indicates the PowerSupply's input frequency range measured " "by the associated sensor. Range 1, 2 or both can be specified " "using the values 2, 3 or 4, respectively."), ValueMap {"0", "1", "2", "3", "4"}, Values {"Unknown", "Other", "Range 1", "Range 2", "Both Range 1 and 2"} ] uint16 MonitoringRange; }; // ================================================================== // PackageTempSensor // ================================================================== [Association, Version ("2.7.0"), Deprecated {"CIM_PackageDependency"}, Description ( "Often, a TemperatureSensor is installed in a Package such as " "a Chassis or a Rack, not to measure any particular Device, " "but the Package's environment in general. The use of this " "association has been deprecated. Instead, use " "PackageDependency to describe this relationship.") ] class CIM_PackageTempSensor : CIM_PackageDependency { [Override ("Antecedent"), Deprecated {"CIM_PackageDependency.Antecedent"}, Description ( "The TemperatureSensor for the Package.") ] CIM_TemperatureSensor REF Antecedent; [Override ("Dependent"), Deprecated {"CIM_PackageDependency.Dependent"}, Description ( "The PhysicalPackage whose environment is monitored.") ] CIM_PhysicalPackage REF Dependent; }; // ==================================================================== // AlarmDevice // =================================================================== [Version ("2.6.0"), Description ( "An AlarmDevice is a type of Device that emits audible or " "visible indications related to a problem situation.") ] class CIM_AlarmDevice : CIM_LogicalDevice { [Description ( "Boolean indicating that the Alarm is audible.") ] boolean AudibleAlarm; [Description ( "Boolean indicating that the Alarm is visible.") ] boolean VisibleAlarm; [Description ( "Boolean indicating that the Alarm causes motion of the " "Device.") ] boolean MotionAlarm; [Description ( "Urgency is an enumerated value that indicates the relative " "frequency at which the Alarm flashes, vibrates and/or emits " "audible tones."), ValueMap {"0", "1", "2", "3", "4", "5", "6"}, Values {"Unknown", "Other", "Not Supported", "Informational", "Non-Critical", "Critical", "Unrecoverable"} ] uint16 Urgency; [Description ("The current state of the alarm."), ValueMap {"0", "1", "2", "3"}, Values {"Unknown", "Off", "Steady", "Alternating"} ] uint16 AlarmState; [Description ( "True indicates that the audio of an AlarmState indicator " "has been disabled (i.e. muted). A disabled state here " "does not imply that the AlarmState is off.") ] boolean AudioIndicatorIsDisabled; [Description ( "True indicates that the visual of an AlarmState indicator " "has been disabled (i.e. dimmed). A disabled state here " "does not imply that the AlarmState is off.") ] boolean VisualIndicatorIsDisabled; [Description ( "True indicates that the motion of an AlarmState indicator " "has been disabled (i.e. stopped). A disabled state here " "does not imply that the AlarmState is off.") ] boolean MotionIndicatorIsDisabled; [Description ( "SetAlarmState is a method for defining the current state " "of the Alarm. Its input parameter, RequestedAlarmState, is " "specified using the Values list of AlarmDevice's AlarmState " "property. SetAlarmState returns 0 if the request is " "successfully implemented, 1 if the specified RequestedAlarm" "State is not supported, and some other value if any other " "error occurred. In a subclass, the set of possible return " "codes should be specified using a ValueMap qualifier on the " "method. The strings to which the ValueMap contents are " "'translated' should be specified as a Values array " "qualifier.") ] uint32 SetAlarmState ( [IN, ValueMap {"0", "1", "2", "3"}, Values {"Unknown", "Off", "Steady", "Alternating"} ] uint16 RequestedAlarmState); [Description ( "SetAlarmIndicator is a method for enabling or disabling the " "indicator of the AlarmState function, without changing the " "current AlarmState. It has 3 input parameters, Audio" "Indicator, VisualIndicator and MotionIndicator. For all of " "the input parameters, a value of 0 indicates no change to " "the AlarmState indicator, 1 indicates Disable, and 2 " "indicates Enable. The method returns 0 if the request is " "successfully implemented, 1 if the specified request is not " "supported, and some other value if any other error occurred. " "In a subclass, the set of possible return codes should be " "specified using a ValueMap qualifier on the method. The " "strings to which the ValueMap contents are 'translated' " "should be specified as a Values array qualifier.") ] uint32 SetAlarmIndicator ( [IN, ValueMap {"0", "1", "2"}, Values {"No Change", "Disable", "Enable"} ] uint16 AudioIndicator, [IN, ValueMap {"0", "1", "2"}, Values {"No Change", "Disable", "Enable"} ] uint16 VisualIndicator, [IN, ValueMap {"0", "1", "2"}, Values {"No Change", "Disable", "Enable"} ] uint16 MotionIndicator); [Description ( "SetUrgency is a method for defining the desired urgency " "level for the Alarm. Its input parameter, RequestedUrgency, " "is specified using the Values list of AlarmDevice's Urgency " "property. SetUrgency returns 0 if the request is successfully " "implemented, 1 if the specified Urgency level is not " "supported, and some other value if any other error occurred. " "In a subclass, the set of possible return codes should be " "specified using a ValueMap qualifier on the method. The " "strings to which the ValueMap contents are 'translated' " "should be specified as a Values array qualifier.") ] uint32 SetUrgency ( [IN, ValueMap {"1", "3", "4", "5", "6"}, Values {"Other", "Informational", "Non-Critical", "Critical", "Unrecoverable"} ] uint16 RequestedUrgency); }; // =================================================================== // AssociatedAlarm // =================================================================== [Association, Version ("2.6.0"), Description ( "LogicalDevices may have one or more AlarmDevices " "associated with them, in order to indicate problem situations. " "This relationship is indicated by the AssociatedAlarm " "dependency.") ] class CIM_AssociatedAlarm : CIM_Dependency { [Override ("Antecedent"), Description ("The AlarmDevice.") ] CIM_AlarmDevice REF Antecedent; [Override ("Dependent"), Description ("The LogicalDevice that is alarmed.") ] CIM_LogicalDevice REF Dependent; }; // ================================================================== // PackageAlarm // ================================================================== [Association, Version ("2.7.0"), Deprecated {"CIM_PackageDependency"}, Description ( "Often, an AlarmDevice is installed as part of a Package, " "not to indicate issues with any particular LogicalDevice " "or PhysicalComponent, but with the Package's environment " "in general, its security state or its overall health. " "The use of this association has been deprecated. Instead, " "use PackageDependency to describe this relationship.") ] class CIM_PackageAlarm : CIM_PackageDependency { [Override ("Antecedent"), Deprecated {"CIM_PackageDependency.Antecedent"}, Description ( "The AlarmDevice for the Package.") ] CIM_AlarmDevice REF Antecedent; [Override ("Dependent"), Deprecated {"CIM_PackageDependency.Dependent"}, Description ( "The PhysicalPackage whose health, security, environment, " "etc. is alarmed.") ] CIM_PhysicalPackage REF Dependent; }; // =================================================================== // end of file // ===================================================================