<?xml version="1.0" encoding="UTF-8"?>
<!---->
<!--################################################################################       -->
<!--# Redfish Schema:  Sensor v1.7.0                                                       -->
<!--#                                                                                      -->
<!--# For a detailed change log, see the README file contained in the DSP8010 bundle,      -->
<!--# available at http://www.dmtf.org/standards/redfish                                   -->
<!--# Copyright 2014-2023 DMTF.                                                            -->
<!--# For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright -->
<!--################################################################################       -->
<!---->
<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">

  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
    <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Capabilities.V1.xml">
    <edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Measures.V1.xml">
    <edmx:Include Namespace="Org.OData.Measures.V1" Alias="Measures"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
    <edmx:Include Namespace="Validation.v1_0_0" Alias="Validation"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
    <edmx:Include Namespace="Resource"/>
    <edmx:Include Namespace="Resource.v1_0_0"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/PhysicalContext_v1.xml">
    <edmx:Include Namespace="PhysicalContext"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Control_v1.xml">
    <edmx:Include Namespace="Control"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Redundancy_v1.xml">
    <edmx:Include Namespace="Redundancy"/>
  </edmx:Reference>

  <edmx:DataServices>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>

      <EntityType Name="Sensor" BaseType="Resource.v1_0_0.Resource" Abstract="true">
        <Annotation Term="OData.Description" String="The Sensor schema describes a sensor and its properties."/>
        <Annotation Term="OData.LongDescription" String="This resource shall represent a sensor for a Redfish implementation."/>
        <Annotation Term="Capabilities.InsertRestrictions">
          <Record>
            <PropertyValue Property="Insertable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.UpdateRestrictions">
          <Record>
            <PropertyValue Property="Updatable" Bool="true"/>
            <Annotation Term="OData.Description" String="Any writable properties, such as limits and exceptions, can be updated for sensors."/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.DeleteRestrictions">
          <Record>
            <PropertyValue Property="Deletable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Redfish.Uris">
          <Collection>
            <String>/redfish/v1/Chassis/{ChassisId}/Sensors/{SensorId}</String>
            <String>/redfish/v1/PowerEquipment/RackPDUs/{PowerDistributionId}/Sensors/{SensorId}</String>
            <String>/redfish/v1/PowerEquipment/FloorPDUs/{PowerDistributionId}/Sensors/{SensorId}</String>
            <String>/redfish/v1/PowerEquipment/Switchgear/{PowerDistributionId}/Sensors/{SensorId}</String>
            <String>/redfish/v1/PowerEquipment/TransferSwitches/{PowerDistributionId}/Sensors/{SensorId}</String>
            <String>/redfish/v1/PowerEquipment/PowerShelves/{PowerDistributionId}/Sensors/{SensorId}</String>
          </Collection>
        </Annotation>
        <Annotation Term="Redfish.DeprecatedUris">
          <Collection>
            <String>/redfish/v1/PowerEquipment/RackPDUs/{PowerDistributionId}/Sensors/{SensorId}</String>
            <String>/redfish/v1/PowerEquipment/FloorPDUs/{PowerDistributionId}/Sensors/{SensorId}</String>
            <String>/redfish/v1/PowerEquipment/Switchgear/{PowerDistributionId}/Sensors/{SensorId}</String>
            <String>/redfish/v1/PowerEquipment/TransferSwitches/{PowerDistributionId}/Sensors/{SensorId}</String>
            <String>/redfish/v1/PowerEquipment/PowerShelves/{PowerDistributionId}/Sensors/{SensorId}</String>
          </Collection>
        </Annotation>
      </EntityType>

      <Action Name="ResetMetrics" IsBound="true">
        <Annotation Term="OData.Description" String="Resets metrics related to this sensor."/>
        <Annotation Term="OData.LongDescription" String="This action shall reset any time intervals or counted values for this sensor.  The SensorResetTime property shall be updated to reflect the time that this action was performed."/>
        <Parameter Name="Sensor" Type="Sensor.v1_0_0.Actions"/>
      </Action>

      <Action Name="ResetToDefaults" IsBound="true">
        <Annotation Term="OData.Description" String="The action resets the values of writable properties to factory defaults."/>
        <Annotation Term="OData.LongDescription" String="This action shall reset the values of writable properties in this resource to their default values as specified by the manufacturer."/>
        <Parameter Name="Sensor" Type="Sensor.v1_0_0.Actions"/>
        <Annotation Term="Redfish.Revisions">
          <Collection>
            <Record>
              <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
              <PropertyValue Property="Version" String="v1_6_0"/>
            </Record>
          </Collection>
        </Annotation>
      </Action>

      <EnumType Name="VoltageType">
        <Member Name="AC">
          <Annotation Term="OData.Description" String="Alternating current."/>
        </Member>
        <Member Name="DC">
          <Annotation Term="OData.Description" String="Direct current."/>
        </Member>
      </EnumType>

      <EnumType Name="ElectricalContext">
        <Member Name="Line1">
          <Annotation Term="OData.Description" String="The circuits that share the L1 current-carrying conductor."/>
          <Annotation Term="OData.LongDescription" String="This value shall represent a circuit that shares the L1 current-carrying conductor, such as circuits with phase wiring types of Two-phase / 3-Wire or 4-Wire, or Three-phase / 4-Wire or 5-Wire."/>
        </Member>
        <Member Name="Line2">
          <Annotation Term="OData.Description" String="The circuits that share the L2 current-carrying conductor."/>
          <Annotation Term="OData.LongDescription" String="This value shall represent a circuit that shares the L2 current-carrying conductor, such as circuits with phase wiring types of Two-phase / 4-Wire or Three-phase / 4-Wire or 5-Wire."/>
        </Member>
        <Member Name="Line3">
          <Annotation Term="OData.Description" String="The circuits that share the L3 current-carrying conductor."/>
          <Annotation Term="OData.LongDescription" String="This value shall represent a circuit that shares the L3 current-carrying conductor, such as circuits with phase wiring types of Three-phase / 4-Wire or 5-Wire."/>
        </Member>
        <Member Name="Neutral">
          <Annotation Term="OData.Description" String="The grounded current-carrying return circuit of current-carrying conductors."/>
          <Annotation Term="OData.LongDescription" String="This value shall represent the grounded current-carrying return circuit of current-carrying conductors, such as circuits with phase wiring types of Single-phase / 3-Wire, Two-phase / 4-Wire, or Three-phase / 5-Wire."/>
        </Member>
        <Member Name="LineToLine">
          <Annotation Term="OData.Description" String="The circuit formed by two current-carrying conductors."/>
          <Annotation Term="OData.LongDescription" String="This value shall represent a circuit formed by two current-carrying conductors, such as circuits with phase wiring types of Two-phase / 3-Wire or 4-Wire, or Three-phase / 4-Wire or 5-Wire."/>
        </Member>
        <Member Name="Line1ToLine2">
          <Annotation Term="OData.Description" String="The circuit formed by L1 and L2 current-carrying conductors."/>
          <Annotation Term="OData.LongDescription" String="This value shall represent a circuit formed by L1 and L2 current-carrying conductors, such as circuits with phase wiring types of Two-phase / 3-Wire or 4-Wire, or Three-phase / 4-Wire or 5-Wire."/>
        </Member>
        <Member Name="Line2ToLine3">
          <Annotation Term="OData.Description" String="The circuit formed by L2 and L3 current-carrying conductors."/>
          <Annotation Term="OData.LongDescription" String="This value shall represent a circuit formed by L2 and L3 current-carrying conductors, such as circuits with phase wiring types of Three-phase / 4-Wire or 5-Wire."/>
        </Member>
        <Member Name="Line3ToLine1">
          <Annotation Term="OData.Description" String="The circuit formed by L3 and L1 current-carrying conductors."/>
          <Annotation Term="OData.LongDescription" String="This value shall represent a circuit formed by L3 and L1 current-carrying conductors, such as circuits with phase wiring types of Three-phase / 4-Wire or 5-Wire."/>
        </Member>
        <Member Name="LineToNeutral">
          <Annotation Term="OData.Description" String="The circuit formed by a line and neutral current-carrying conductor."/>
          <Annotation Term="OData.LongDescription" String="This value shall represent a circuit formed by a line and neutral current-carrying conductor, such as circuits with phase wiring types of Single-phase / 3-Wire, Two-phase / 4-Wire, or Three-phase / 4-Wire or 5-Wire."/>
        </Member>
        <Member Name="Line1ToNeutral">
          <Annotation Term="OData.Description" String="The circuit formed by L1 and neutral current-carrying conductors."/>
          <Annotation Term="OData.LongDescription" String="This value shall represent a circuit formed by L1 and neutral current-carrying conductors, such as circuits with phase wiring types of Single-phase / 3-Wire, Two-phase / 3-Wire or 4-Wire, or Three-phase / 4-Wire or 5-Wire."/>
        </Member>
        <Member Name="Line2ToNeutral">
          <Annotation Term="OData.Description" String="The circuit formed by L2 and neutral current-carrying conductors."/>
          <Annotation Term="OData.LongDescription" String="This value shall represent a circuit formed by L2 and neutral current-carrying conductors, such as circuits with phase wiring types of Two-phase / 4-Wire or Three-phase / 5-Wire."/>
        </Member>
        <Member Name="Line3ToNeutral">
          <Annotation Term="OData.Description" String="The circuit formed by L3 and neutral current-carrying conductors."/>
          <Annotation Term="OData.LongDescription" String="This value shall represent a circuit formed by L3 and neutral current-carrying conductors, such as circuits with a phase wiring type of Three-phase / 5-Wire."/>
        </Member>
         <Member Name="Line1ToNeutralAndL1L2">
          <Annotation Term="OData.Description" String="The circuit formed by L1, L2, and neutral current-carrying conductors."/>
          <Annotation Term="OData.LongDescription" String="This value shall represent circuit formed by L1, L2, and neutral current-carrying conductors, such as circuits with phase wiring types of Two-phase/ 4-Wire or Three-phase / 5-Wire."/>
        </Member>
        <Member Name="Line2ToNeutralAndL1L2">
          <Annotation Term="OData.Description" String="The circuit formed by L1, L2, and Neutral current-carrying conductors."/>
          <Annotation Term="OData.LongDescription" String="This value shall represent a circuit formed by L1, L2, and neutral current-carrying conductors, such as circuits with phase wiring types of Two-phase/ 4-Wire or Three-phase / 5-Wire."/>
        </Member>
        <Member Name="Line2ToNeutralAndL2L3">
          <Annotation Term="OData.Description" String="The circuits formed by L2, L3, and neutral current-carrying conductors."/>
          <Annotation Term="OData.LongDescription" String="This value shall represent a circuit formed by L2, L3, and neutral current-carrying conductors, such as circuits with a phase wiring type of Three-phase / 5-Wire."/>
        </Member>
        <Member Name="Line3ToNeutralAndL3L1">
          <Annotation Term="OData.Description" String="The circuit formed by L3, L1, and neutral current-carrying conductors."/>
          <Annotation Term="OData.LongDescription" String="This value shall represent a circuit formed by L3, L1, and neutral current-carrying conductors, such as circuits with a phase wiring type of Three-phase / 5-Wire."/>
        </Member>
        <Member Name="Total">
          <Annotation Term="OData.Description" String="The circuit formed by all current-carrying conductors."/>
          <Annotation Term="OData.LongDescription" String="This value shall represent the circuits formed by all current-carrying conductors for any phase wiring type."/>
        </Member>
      </EnumType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_0_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2018.3"/>

      <EntityType Name="Sensor" BaseType="Sensor.Sensor">
        <Property Name="ReadingType" Type="Sensor.v1_0_0.ReadingType">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The type of sensor."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the type of the sensor."/>
        </Property>
        <Property Name="DataSourceUri" Type="Edm.String">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The link to the resource that provides the data for this sensor."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain a URI to the resource that provides the source of the excerpt contained within this copy."/>
          <Annotation Term="OData.IsURL"/>
          <Annotation Term="Redfish.ExcerptCopyOnly"/>
        </Property>

        <Property Name="Status" Type="Resource.Status" Nullable="false">
          <Annotation Term="OData.Description" String="The status and health of the resource and its subordinate or dependent resources."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain any status or health properties of the resource."/>
        </Property>

        <Property Name="Reading" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The sensor value."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the sensor value."/>
          <Annotation Term="Redfish.Excerpt"/>
        </Property>
        <Property Name="ReadingUnits" Type="Edm.String">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The units of the reading and thresholds."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the units of the sensor's reading and thresholds."/>
        </Property>
        <Property Name="PhysicalContext" Type="PhysicalContext.PhysicalContext">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The area or device to which this sensor measurement applies."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain a description of the affected component or region within the equipment to which this sensor measurement applies."/>
          <Annotation Term="Redfish.Excerpt" String="Array,FanArray,PowerArray"/>
        </Property>
        <Property Name="PhysicalSubContext" Type="PhysicalContext.PhysicalSubContext">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The usage or location within a device to which this sensor measurement applies."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain a description of the usage or sub-region within the equipment to which this sensor measurement applies.  This property generally differentiates multiple sensors within the same PhysicalContext instance."/>
          <Annotation Term="Redfish.Excerpt" String="Array,FanArray,PowerArray"/>
        </Property>
        <Property Name="PeakReading" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The peak sensor value."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the peak sensor value since the last ResetMetrics action was performed or the service last reset the time-based property values."/>
        </Property>

        <Property Name="MaxAllowableOperatingValue" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The maximum allowable operating value for this equipment."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the maximum allowable operating value for the equipment that this sensor monitors, as specified by a standards body, manufacturer, or both."/>
        </Property>
        <Property Name="MinAllowableOperatingValue" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The minimum allowable operating value for this equipment."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the minimum allowable operating value for the equipment that this sensor monitors, as specified by a standards body, manufacturer, or both."/>
        </Property>
        <Property Name="AdjustedMaxAllowableOperatingValue" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The adjusted maximum allowable operating value for this equipment based on the environmental conditions."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the adjusted maximum allowable operating value for the equipment that this sensor monitors, as specified by a standards body, manufacturer, or both.  The value is adjusted based on environmental conditions.  For example, liquid inlet temperature can be adjusted based on the available liquid pressure."/>
        </Property>
        <Property Name="AdjustedMinAllowableOperatingValue" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The adjusted minimum allowable operating value for this equipment based on the environmental conditions."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the adjusted minimum allowable operating value for the equipment that this sensor monitors, as specified by a standards body, manufacturer, or both.  This value is adjusted based on environmental conditions.  For example, liquid inlet temperature can be adjusted based on the available liquid pressure."/>
        </Property>

        <Property Name="ApparentVA" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The product of voltage and current for an AC circuit, in volt-ampere units."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the product of voltage (RMS) multiplied by current (RMS) for a circuit.  This property can appear in sensors of the Power ReadingType, and shall not appear in sensors of other ReadingType values."/>
          <Annotation Term="Measures.Unit" String="V.A"/>
          <Annotation Term="Redfish.Excerpt" String="Power,PowerArray"/>
        </Property>
        <Property Name="ReactiveVAR" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The square root of the difference term of squared apparent VA and squared power (Reading) for a circuit, in VAR units."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the arithmetic mean of product terms of instantaneous voltage and quadrature current measurements calculated over an integer number of line cycles for a circuit.  This property can appear in sensors of the Power ReadingType, and shall not appear in sensors of other ReadingType values."/>
          <Annotation Term="Measures.Unit" String="V.A"/>
          <Annotation Term="Redfish.Excerpt" String="Power,PowerArray"/>
        </Property>
        <Property Name="PowerFactor" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The power factor for this sensor."/>
          <Annotation Term="OData.LongDescription" String="This property shall identify the quotient of real power (W) and apparent power (VA) for a circuit.  PowerFactor is expressed in unit-less 1/100ths.  This property can appear in sensors containing a ReadingType value of `Power`, and shall not appear in sensors of other ReadingType values."/>
          <Annotation Term="Validation.Minimum" Int="-1"/>
          <Annotation Term="Validation.Maximum" Int="1"/>
          <Annotation Term="Redfish.Excerpt" String="Power,PowerArray"/>
        </Property>
        <Property Name="LoadPercent" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The power load utilization for this sensor."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate the power load utilization percent for this sensor.  This property can appear in sensors of the Power ReadingType, and shall not appear in sensors of other ReadingType values."/>
          <Annotation Term="Measures.Unit" String="%"/>
          <Annotation Term="Redfish.Revisions">
            <Collection>
              <Record>
                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Deprecated"/>
                <PropertyValue Property="Version" String="v1_1_0"/>
                <PropertyValue Property="Description" String="This property has been deprecated in favor of using a sensor instance with a ReadingType of `Percent` to show utilization values when needed."/>
              </Record>
            </Collection>
          </Annotation>
        </Property>

        <Property Name="Location" Type="Resource.Location" Nullable="false">
          <Annotation Term="OData.Description" String="The location information for this sensor."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate the location information for this sensor."/>
        </Property>
        <Property Name="ElectricalContext" Type="Sensor.ElectricalContext">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The combination of current-carrying conductors."/>
          <Annotation Term="OData.LongDescription" String="This property shall represent the combination of current-carrying conductors that distribute power."/>
        </Property>
        <Property Name="VoltageType" Type="Sensor.VoltageType">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The voltage type for this sensor."/>
          <Annotation Term="OData.LongDescription" String="This property shall represent the type of input voltage the sensor monitors."/>
        </Property>

        <Property Name="Thresholds" Type="Sensor.v1_0_0.Thresholds" Nullable="false">
          <Annotation Term="OData.Description" String="The set of thresholds defined for this sensor."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the set of thresholds that derive a sensor's health and operational range."/>
        </Property>

        <Property Name="ReadingRangeMax" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The maximum possible value for this sensor."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate the maximum possible value of the Reading property for this sensor.  This value is the range of valid readings for this sensor.  Values outside this range are discarded as reading errors."/>
        </Property>
        <Property Name="ReadingRangeMin" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The minimum possible value for this sensor."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate the minimum possible value of the Reading property for this sensor.  This value is the range of valid readings for this sensor.  Values outside this range are discarded as reading errors."/>
        </Property>
        <Property Name="Precision" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The number of significant digits in the reading."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the number of significant digits in the Reading property."/>
        </Property>
        <Property Name="Accuracy" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The estimated percent error of measured versus actual values."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the percent error +/- of the measured versus actual values of the Reading property."/>
          <Annotation Term="Measures.Unit" String="%"/>
        </Property>
        <Property Name="SensingFrequency" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The time interval between readings of the physical sensor."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the time interval between readings of the physical sensor."/>
          <Annotation Term="Redfish.Revisions">
            <Collection>
              <Record>
                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Deprecated"/>
                <PropertyValue Property="Version" String="v1_1_0"/>
                <PropertyValue Property="Description" String="This property has been deprecated in favor of the SensingInterval property, which uses the duration time format for interoperability."/>
              </Record>
            </Collection>
          </Annotation>
        </Property>
        <Property Name="PeakReadingTime" Type="Edm.DateTimeOffset">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The time when the peak sensor value occurred."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the date and time when the peak sensor value was observed."/>
        </Property>
        <Property Name="SensorResetTime" Type="Edm.DateTimeOffset">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The date and time when the time-based properties were last reset."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the date and time when the ResetMetrics action was last performed or the service last reset the time-based property values."/>
          <Annotation Term="Redfish.Excerpt" String="EnergykWh"/>
        </Property>

        <Property Name="Actions" Type="Sensor.v1_0_0.Actions" Nullable="false">
          <Annotation Term="OData.Description" String="The available actions for this resource."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
        </Property>
      </EntityType>

      <ComplexType Name="Thresholds">
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Annotation Term="OData.Description" String="The set of thresholds defined for a sensor."/>
        <Annotation Term="OData.LongDescription" String="This object shall contain the set of thresholds that derive a sensor's health and operational range."/>
        <Property Name="UpperCaution" Type="Sensor.v1_0_0.Threshold" Nullable="false">
          <Annotation Term="OData.Description" String="The value at which the reading is above normal range."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the value at which the Reading property is above the normal range.  The value of the property shall use the same units as the Reading property."/>
        </Property>
        <Property Name="UpperCritical" Type="Sensor.v1_0_0.Threshold" Nullable="false">
          <Annotation Term="OData.Description" String="The value at which the reading is above normal range but not yet fatal."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the value at which the Reading property is above the normal range but is not yet fatal.  The value of the property shall use the same units as the Reading property."/>
        </Property>
        <Property Name="UpperFatal" Type="Sensor.v1_0_0.Threshold" Nullable="false">
          <Annotation Term="OData.Description" String="The value at which the reading is above normal range and fatal."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the value at which the Reading property is above the normal range and is fatal.  The value of the property shall use the same units as the Reading property."/>
        </Property>
        <Property Name="LowerCaution" Type="Sensor.v1_0_0.Threshold" Nullable="false">
          <Annotation Term="OData.Description" String="The value at which the reading is below normal range."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the value at which the Reading property is below normal range.  The value of the property shall use the same units as the Reading property."/>
        </Property>
        <Property Name="LowerCritical" Type="Sensor.v1_0_0.Threshold" Nullable="false">
          <Annotation Term="OData.Description" String="The value at which the reading is below normal range but not yet fatal."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the value at which the Reading property is below the normal range but is not yet fatal.  The value of the property shall use the same units as the Reading property."/>
        </Property>
        <Property Name="LowerFatal" Type="Sensor.v1_0_0.Threshold" Nullable="false">
          <Annotation Term="OData.Description" String="The value at which the reading is below normal range and fatal."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the value at which the Reading property is below the normal range and is fatal.  The value of the property shall use the same units as the Reading property."/>
        </Property>
      </ComplexType>

      <ComplexType Name="Threshold">
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Annotation Term="OData.Description" String="The threshold definition for a sensor."/>
        <Annotation Term="OData.LongDescription" String="This type shall contain the properties for an individual threshold for this sensor."/>
        <Property Name="Reading" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The threshold value."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate the reading for this sensor that activates the threshold.  The value of the property shall use the same units as the Reading property."/>
        </Property>
        <Property Name="Activation" Type="Sensor.v1_0_0.ThresholdActivation">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The direction of crossing that activates this threshold."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate the direction of crossing of the reading for this sensor that activates the threshold."/>
        </Property>
        <Property Name="DwellTime" Type="Edm.Duration">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The duration the sensor value must violate the threshold before the threshold is activated."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate the duration the sensor value violates the threshold before the threshold is activated."/>
        </Property>
      </ComplexType>

      <ComplexType Name="Actions">
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Annotation Term="OData.Description" String="The available actions for this resource."/>
        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
        <Property Name="Oem" Type="Sensor.v1_0_0.OemActions" Nullable="false">
          <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
        </Property>
      </ComplexType>

      <ComplexType Name="OemActions">
        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
        <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
        <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>
      </ComplexType>

      <EnumType Name="ThresholdActivation">
        <Member Name="Increasing">
          <Annotation Term="OData.Description" String="Value increases above the threshold."/>
          <Annotation Term="OData.LongDescription" String="This threshold is activated when the reading changes from a value lower than the threshold to a value higher than the threshold."/>
        </Member>
        <Member Name="Decreasing">
          <Annotation Term="OData.Description" String="Value decreases below the threshold."/>
          <Annotation Term="OData.LongDescription" String="This threshold is activated when the reading changes from a value higher than the threshold to a value lower than the threshold."/>
        </Member>
        <Member Name="Either">
          <Annotation Term="OData.Description" String="Value crosses the threshold in either direction."/>
          <Annotation Term="OData.LongDescription" String="This threshold is activated when either the increasing or decreasing conditions are met."/>
        </Member>
        <Member Name="Disabled">
          <Annotation Term="OData.Description" String="The threshold is disabled."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate the threshold is disabled and no actions shall be taken as a result of the reading crossing the threshold value."/>
          <Annotation Term="Redfish.Revisions">
            <Collection>
              <Record>
                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
                <PropertyValue Property="Version" String="v1_7_0"/>
              </Record>
            </Collection>
          </Annotation>
        </Member>
      </EnumType>

      <EnumType Name="ReadingType">
        <Member Name="Temperature">
          <Annotation Term="OData.Description" String="Temperature (C)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate a temperature measurement, in degrees Celsius units.  The ReadingUnits property shall contain `Cel`."/>
        </Member>
        <Member Name="Humidity">
          <Annotation Term="OData.Description" String="Relative humidity (percent)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate a relative humidity measurement, in percent units.  The ReadingUnits property shall contain `%`."/>
        </Member>
        <Member Name="Power">
          <Annotation Term="OData.Description" String="Power (W)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate the arithmetic mean of product terms of instantaneous voltage and current values measured over integer number of line cycles for a circuit, in watt units.  The ReadingUnits property shall contain `W`."/>
        </Member>
        <Member Name="EnergykWh">
          <Annotation Term="OData.Description" String="Energy (kWh)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate the energy, integral of real power over time, of the monitored item.  If representing metered power consumption the value shall reflect the power consumption since the sensor metrics were last reset.  The value of the Reading property shall be in kilowatt-hour units and the ReadingUnits property shall contain `kW.h`.  This value is used for large-scale energy consumption measurements, while `EnergyJoules` and `EnergyWh` are used for device-level consumption measurements."/>
        </Member>
        <Member Name="EnergyJoules">
          <Annotation Term="OData.Description" String="Energy (J)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate the energy, integral of real power over time, of the monitored item.  If representing metered power consumption the value shall reflect the power consumption since the sensor metrics were last reset.  The value of the Reading property shall be in joule units and the ReadingUnits property shall contain `J`.  This value is used for device-level energy consumption measurements, while `EnergykWh` is used for large-scale consumption measurements."/>
        </Member>
        <Member Name="EnergyWh">
          <Annotation Term="OData.Description" String="Energy (Wh)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate the energy, integral of real power over time, of the monitored item.  If representing metered power consumption the value shall reflect the power consumption since the sensor metrics were last reset.  The value of the Reading property shall be in watt-hour units and the ReadingUnits property shall contain `W.h`.  This value is used for device-level energy consumption measurements, while `EnergykWh` is used for large-scale consumption measurements."/>
          <Annotation Term="Redfish.Revisions">
            <Collection>
              <Record>
                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
                <PropertyValue Property="Version" String="v1_4_0"/>
              </Record>
            </Collection>
          </Annotation>
        </Member>
        <Member Name="ChargeAh">
          <Annotation Term="OData.Description" String="Charge (Ah)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate the amount of charge of the monitored item.  If representing metered power consumption,  integral of real power over time, the value shall reflect the power consumption since the sensor metrics were last reset.  The value of the Reading property shall be in ampere-hour units and the ReadingUnits property shall contain `A.h`."/>
          <Annotation Term="Redfish.Revisions">
            <Collection>
              <Record>
                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
                <PropertyValue Property="Version" String="v1_4_0"/>
              </Record>
            </Collection>
          </Annotation>
        </Member>
        <Member Name="Voltage">
          <Annotation Term="OData.Description" String="Voltage (VAC or VDC)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate a measurement of the root mean square (RMS) of instantaneous voltage calculated over an integer number of line cycles for a circuit.  Voltage is expressed in volt units and the ReadingUnits property shall contain `V`."/>
        </Member>
        <Member Name="Current">
          <Annotation Term="OData.Description" String="Current (A)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate a measurement of the root mean square (RMS) of instantaneous current calculated over an integer number of line cycles for a circuit.  Current is expressed in ampere units and the ReadingUnits property shall contain `A`."/>
        </Member>
        <Member Name="Frequency">
          <Annotation Term="OData.Description" String="Frequency (Hz)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate a frequency measurement, in hertz units.  The ReadingUnits property shall contain `Hz`."/>
        </Member>
        <Member Name="Pressure">
          <Annotation Term="OData.Description" String="Pressure (Pa)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate a measurement of force, in pascal units, applied perpendicular to the surface of an object per unit area over which that force is distributed.  The ReadingUnits property shall contain `Pa`."/>
          <Annotation Term="Redfish.Revisions">
            <Collection>
              <Record>
                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Deprecated"/>
                <PropertyValue Property="Version" String="v1_7_0"/>
                <PropertyValue Property="Description" String="This value has been deprecated in favor of `PressurePa` or `PressurekPa` for consistency of units between Sensor and Control resources."/>
              </Record>
            </Collection>
          </Annotation>
        </Member>
        <Member Name="PressurekPa">
          <Annotation Term="OData.Description" String="Pressure (kPa)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate a measurement of pressure, in kilopascal units, relative to atmospheric pressure.  The ReadingUnits property shall contain `kPa`."/>
          <Annotation Term="Redfish.Revisions">
            <Collection>
              <Record>
                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
                <PropertyValue Property="Version" String="v1_5_0"/>
              </Record>
            </Collection>
          </Annotation>
        </Member>
        <Member Name="PressurePa">
          <Annotation Term="OData.Description" String="Pressure (Pa)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate a measurement of pressure, in pascal units, relative to atmospheric pressure.  The ReadingUnits property shall contain `Pa`."/>
          <Annotation Term="Redfish.Revisions">
            <Collection>
              <Record>
                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
                <PropertyValue Property="Version" String="v1_7_0"/>
              </Record>
            </Collection>
          </Annotation>
        </Member>
        <Member Name="LiquidLevel">
          <Annotation Term="OData.Description" String="Liquid level (cm)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate a measurement of fluid height, in centimeter units, relative to a specified vertical datum and the ReadingUnits property shall contain `cm`."/>
        </Member>
        <Member Name="Rotational">
          <Annotation Term="OData.Description" String="Rotational (RPM)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate a measurement of rotational frequency, in revolutions per minute unit.  The ReadingUnits property shall contain either `{rev}/min`, which is preferred, or `RPM`, which is a deprecated value."/>
        </Member>
        <Member Name="AirFlow">
          <Annotation Term="OData.Description" String="Air flow (cu ft/min)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate a measurement of a volume of gas per unit of time, in cubic feet per minute units, that flows through a particular junction.  The ReadingUnits property shall contain `[ft_i]3/min`."/>
          <Annotation Term="Redfish.Revisions">
            <Collection>
              <Record>
                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Deprecated"/>
                <PropertyValue Property="Version" String="v1_7_0"/>
                <PropertyValue Property="Description" String="This value has been deprecated in favor of `AirFlowCMM` for consistent use of SI units."/>
              </Record>
            </Collection>
          </Annotation>
        </Member>
        <Member Name="AirFlowCMM">
          <Annotation Term="OData.Description" String="Air flow (m^3/min)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate a measurement of a volume of gas per unit of time, in cubic meters per minute units, that flows through a particular junction.  The ReadingUnits property shall contain `m3/min`."/>
          <Annotation Term="Redfish.Revisions">
            <Collection>
              <Record>
                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
                <PropertyValue Property="Version" String="v1_7_0"/>
              </Record>
            </Collection>
          </Annotation>
        </Member>
        <Member Name="LiquidFlow">
          <Annotation Term="OData.Description" String="Liquid flow (L/s)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate a measurement of a volume of liquid per unit of time, in liters per second units, that flows through a particular junction.  The ReadingUnits property shall contain `L/s`."/>
          <Annotation Term="Redfish.Revisions">
            <Collection>
              <Record>
                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Deprecated"/>
                <PropertyValue Property="Version" String="v1_7_0"/>
                <PropertyValue Property="Description" String="This value has been deprecated in favor of `LiquidFlowLPM` for consistency of units typically expected or reported by Sensor and Control resources."/>
              </Record>
            </Collection>
          </Annotation>
        </Member>
        <Member Name="LiquidFlowLPM">
          <Annotation Term="OData.Description" String="Liquid flow (L/min)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate a measurement of a volume of liquid per unit of time, in liters per minute units, that flows through a particular junction.  The ReadingUnits property shall contain `L/min`."/>
          <Annotation Term="Redfish.Revisions">
            <Collection>
              <Record>
                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
                <PropertyValue Property="Version" String="v1_7_0"/>
              </Record>
            </Collection>
          </Annotation>
        </Member>
        <Member Name="Barometric">
          <Annotation Term="OData.Description" String="Barometric pressure (mm)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate a measurement of barometric pressure, in millimeters of a mercury column.  The ReadingUnits property shall contain `mm[Hg]`."/>
        </Member>
        <Member Name="Altitude">
          <Annotation Term="OData.Description" String="Altitude (m)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate a measurement of altitude, in meter units, defined as the elevation above sea level.  The ReadingUnits property shall contain `m`."/>
        </Member>
        <Member Name="Percent">
          <Annotation Term="OData.Description" String="Percent (%)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate a percentage measurement, in percent units.  The ReadingUnits property shall contain `%`."/>
          <Annotation Term="Redfish.Revisions">
            <Collection>
              <Record>
                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
                <PropertyValue Property="Version" String="v1_1_0"/>
              </Record>
            </Collection>
          </Annotation>
        </Member>
        <Member Name="AbsoluteHumidity">
          <Annotation Term="OData.Description" String="Absolute humidity (g/cu m)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate an absolute (volumetric) humidity measurement, in grams per cubic meter units.  The ReadingUnits property shall contain `g/m3`."/>
          <Annotation Term="Redfish.Revisions">
            <Collection>
              <Record>
                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
                <PropertyValue Property="Version" String="v1_5_0"/>
              </Record>
            </Collection>
          </Annotation>
        </Member>
        <Member Name="Heat">
          <Annotation Term="OData.Description" String="Heat (kW)."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate a heat measurement, in kilowatt units.  The ReadingUnits property shall contain `kW`."/>
          <Annotation Term="Redfish.Revisions">
            <Collection>
              <Record>
                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
                <PropertyValue Property="Version" String="v1_7_0"/>
              </Record>
            </Collection>
          </Annotation>
        </Member>
      </EnumType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_0_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct the ReadingUnits definition for the EnergykWh ReadingType and the EnergykWh and EnergyJoules descriptions.  It also forces the regeneration of JSON Schema so that URI properties use the uri-reference format, and to add a missing term on several properties to not allow them to be null."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_0_0.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_0_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to update descriptions that this schema defines."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_0_1.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_0_3">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to remove the excerpt annotation from the LoadPercent and PeakReading properties, and to provide a specific excerpt type for PhysicalContext and PhysicalSubContext.  It was also created to add unit annotations for ApparentVA and ReactiveVAR properties."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_0_2.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_0_4">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct the name of the ResetStatistics action to ResetMetrics for consistency.  It also removed the excerpt annotation from the Status and ReadingUnits properties for the base sensor excerpt definition."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_0_3.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_0_5">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_0_4.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_0_6">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_0_5.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_0_7">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_0_6.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_0_8">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to add units to ReadingType descriptions.  It was also created to update the units of AirFlow to remove the deprecated format and the units of SpeedRPM to use the available UCUM format.  It was also created to correct various typographical errors.  It was also created to correct the minimum value for PowerFactor."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_0_7.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_0_9">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct the regular expression pattern for duration properties in JSON Schema and OpenAPI to not allow for negative values."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_0_8.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_1_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2019.4"/>
      <Annotation Term="OData.Description" String="This version was created to move the ElectricalContext and VoltageType EnumTypes to the unversioned namespace.  It adds properties related to electrical sensors, LifetimeReading, and an ImplementationType for a sensor.  It also deprecated the narrowly-defined LoadPercent property in favor of a more general usage of Reading with a ReadingType of Percent."/>

      <EntityType Name="Sensor" BaseType="Sensor.v1_0_4.Sensor">
        <Property Name="CrestFactor" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The crest factor for this sensor."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the ratio of the peak measurement divided by the RMS measurement and calculated over same N line cycles.  A sine wave would have a value of 1.414."/>
          <Annotation Term="Redfish.Excerpt" String="Current,Voltage"/>
        </Property>
        <Property Name="THDPercent" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The total harmonic distortion (THD)."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the total harmonic distortion of the Reading property in percent units."/>
          <Annotation Term="Redfish.Excerpt" String="Current,Voltage"/>
        </Property>
        <Property Name="LifetimeReading" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The total accumulation value for this sensor."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the total accumulation of the Reading property over the sensor's life time.  This value shall not be reset by the ResetMetrics action."/>
          <Annotation Term="Redfish.Excerpt" String="EnergykWh"/>
        </Property>
        <Property Name="SensingInterval" Type="Edm.Duration">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The time interval between readings of the sensor."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the time interval between readings of data from the sensor."/>
        </Property>
        <Property Name="ReadingTime" Type="Edm.DateTimeOffset">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The date and time that the reading was acquired from the sensor."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the date and time that the reading data was acquired from the sensor.  This value is used to synchronize readings from multiple sensors, and does not represent the time at which the resource was accessed."/>
        </Property>
        <Property Name="Implementation" Type="Sensor.v1_1_0.ImplementationType">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The implementation of the sensor."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the implementation of the sensor."/>
        </Property>
      </EntityType>

      <EnumType Name="ImplementationType">
        <Member Name="PhysicalSensor">
          <Annotation Term="OData.Description" String="The reading is acquired from a physical sensor."/>
        </Member>
        <Member Name="Synthesized">
          <Annotation Term="OData.Description" String="The reading is obtained by applying a calculation on one or more properties or multiple sensors.  The calculation is not provided."/>
        </Member>
        <Member Name="Reported">
          <Annotation Term="OData.Description" String="The reading is obtained from software or a device."/>
        </Member>
      </EnumType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_1_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_1_0.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_1_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_1_1.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_1_3">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_1_2.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_1_4">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to add units to ReadingType descriptions.  It was also created to update the units of AirFlow to remove the deprecated format and the units of SpeedRPM to use the available UCUM format.  It was also created to correct various typographical errors.  It was also created to correct the minimum value for PowerFactor."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_1_3.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_1_5">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct the regular expression pattern for duration properties in JSON Schema and OpenAPI to not allow for negative values."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_1_4.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_2_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2020.4"/>
      <Annotation Term="OData.Description" String="This version was created to add SpeedRPM and DeviceName properties.  It was also created to add several ReadingType values."/>

      <EntityType Name="Sensor" BaseType="Sensor.v1_1_1.Sensor">
        <NavigationProperty Name="RelatedItem" Type="Collection(Resource.Item)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="An array of links to resources or objects that this sensor services."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources or objects that this sensor services."/>
          <Annotation Term="OData.AutoExpandReferences"/>
        </NavigationProperty>
        <Property Name="SpeedRPM" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The rotational speed."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain a reading of the rotational speed of the device in revolutions per minute (RPM) units."/>
          <Annotation Term="Measures.Unit" String="{rev}/min"/>
          <Annotation Term="Redfish.Excerpt" String="Fan,FanArray,Pump"/>
        </Property>
        <Property Name="DeviceName" Type="Edm.String">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The name of the device."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the name of the device associated with this sensor.  If the device is represented by a resource, the value shall contain the value of the Name property of the associated resource."/>
          <Annotation Term="Redfish.Excerpt" String="Array,FanArray"/>
          <Annotation Term="Redfish.ExcerptCopyOnly"/>
        </Property>
      </EntityType>

      <ComplexType Name="Thresholds" BaseType="Sensor.v1_0_0.Thresholds">
        <Property Name="UpperCautionUser" Type="Sensor.v1_0_0.Threshold" Nullable="false">
          <Annotation Term="OData.Description" String="A user-defined value at which the reading is considered above normal range."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain a user-defined value at which the Reading property is considered above the normal range.  The value of the property shall use the same units as the Reading property.  The Reading property shall be considered above normal range if either the UpperCaution or UpperCautionUser threshold has been violated.  This property is used to provide an additional, user-defined threshold value when the UpperCaution threshold is implemented as read-only to reflect a service-defined value that cannot be changed."/>
        </Property>
        <Property Name="UpperCriticalUser" Type="Sensor.v1_0_0.Threshold" Nullable="false">
          <Annotation Term="OData.Description" String="A user-defined value at which the reading is considered above normal range but not yet fatal."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain a user-defined value at which the Reading property is considered above the normal range but is not yet fatal.  The value of the property shall use the same units as the Reading property.  The Reading property shall be considered above normal range if either the UpperCritical or UpperCriticalUser threshold has been violated.  This property is used to provide an additional, user-defined threshold value when the UpperCritical threshold is implemented as read-only to reflect a service-defined value that cannot be changed."/>
        </Property>
        <Property Name="LowerCautionUser" Type="Sensor.v1_0_0.Threshold" Nullable="false">
          <Annotation Term="OData.Description" String="A user-defined value at which the reading is considered below normal range."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain a user-defined value at which the Reading property is considered below the normal range.  The value of the property shall use the same units as the Reading property.  The Reading property shall be considered below normal range if either the LowerCaution or LowerCautionUser threshold has been violated.  This property is used to provide an additional, user-defined threshold value when the LowerCaution threshold is implemented as read-only to reflect a service-defined value that cannot be changed."/>
        </Property>
        <Property Name="LowerCriticalUser" Type="Sensor.v1_0_0.Threshold" Nullable="false">
          <Annotation Term="OData.Description" String="A user-defined value at which the reading is considered below normal range but not yet fatal."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain a user-defined value at which the Reading property is considered below the normal range but is not yet fatal.  The value of the property shall use the same units as the Reading property.  The Reading property shall be considered below normal range if either the LowerCritical or LowerCriticalUser threshold has been violated.  This property is used to provide an additional, user-defined threshold value when the LowerCritical threshold is implemented as read-only to reflect a service-defined value that cannot be changed."/>
        </Property>
      </ComplexType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_2_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_2_0.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_2_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to add units to ReadingType descriptions.  It was also created to update the units of AirFlow to remove the deprecated format and the units of SpeedRPM to use the available UCUM format.  It was also created to correct various typographical errors.  It was also created to correct the minimum value for PowerFactor."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_2_1.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_2_3">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to improve the descriptions of Threshold properties and their usage.  It was also created to correct the regular expression pattern for duration properties in JSON Schema and OpenAPI to not allow for negative values."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_2_2.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_3_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2021.1"/>

      <EntityType Name="Sensor" BaseType="Sensor.v1_2_0.Sensor">
        <Property Name="Links" Type="Sensor.v1_3_0.Links" Nullable="false">
          <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."/>
        </Property>
      </EntityType>

      <ComplexType Name="Links" BaseType="Resource.Links">
        <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
        <Annotation Term="OData.LongDescription" String="This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."/>
      </ComplexType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_3_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_3_0.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_3_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to add units to ReadingType descriptions.  It was also created to update the units of AirFlow to remove the deprecated format and the units of SpeedRPM to use the available UCUM format.  It was also created to correct various typographical errors.  It was also created to correct the minimum value for PowerFactor."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_3_1.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_3_3">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to improve the descriptions of Threshold properties and their usage.  It was also created to correct the regular expression pattern for duration properties in JSON Schema and OpenAPI to not allow for negative values."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_2_2.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_4_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2021.2"/>

      <EntityType Name="Sensor" BaseType="Sensor.v1_3_1.Sensor">
        <Property Name="SensorGroup" Type="Redundancy.RedundantGroup" Nullable="false">
          <Annotation Term="OData.Description" String="The group of sensors that provide readings for this sensor."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain information for a group of sensors that provide input for the value of this sensor's reading.  If this property is present, the Implementation property shall contain the value `Synthesized`.  The group may be created for redundancy or to improve the accuracy of the reading through multiple sensor inputs."/>
        </Property>
        <Property Name="LowestReading" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The lowest sensor value."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the lowest sensor value since the last ResetMetrics action was performed or the service last reset the time-based property values."/>
        </Property>
        <Property Name="LowestReadingTime" Type="Edm.DateTimeOffset">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The time when the lowest sensor value occurred."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the date and time when the lowest sensor value was observed."/>
        </Property>
        <Property Name="AverageReading" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The average sensor value."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the average sensor value over the time specified by the value of the AveragingInterval property.  The value shall be reset by the ResetMetrics action."/>
        </Property>
        <Property Name="AveragingInterval" Type="Edm.Duration">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The interval over which the average sensor value is calculated."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the interval over which the sensor value is averaged to produce the value of the AverageReading property.  This property shall only be present if the AverageReading property is present."/>
        </Property>
        <Property Name="AveragingIntervalAchieved" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="Indicates that enough readings were collected to calculate the average sensor reading over the averaging interval time."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate that enough readings were collected to calculate the AverageReading value over the interval specified by the AveragingInterval property.  The value shall be reset by the ResetMetrics action.  This property shall only be present if the AveragingInterval property is present."/>
        </Property>
        <Property Name="Calibration" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The calibration offset applied to the Reading."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the offset applied to the raw sensor value to provide a calibrated value for the sensor as returned by the Reading property.  The value of this property shall follow the units of the Reading property for this sensor instance.  Updating the value of this property shall not affect the value of the CalibrationTime property."/>
        </Property>
        <Property Name="CalibrationTime" Type="Edm.DateTimeOffset">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The date and time that the sensor was last calibrated."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the date and time that the sensor was last calibrated.  This property is intended to reflect the actual time the calibration occurred."/>
        </Property>
      </EntityType>

      <ComplexType Name="Links" BaseType="Sensor.v1_3_0.Links">
        <NavigationProperty Name="AssociatedControls" Type="Collection(Control.Control)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="An array of links to the controls that can affect this sensor."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type Control that represent the controls that can affect this sensor."/>
          <Annotation Term="OData.AutoExpandReferences"/>
        </NavigationProperty>
      </ComplexType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_4_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to add units to ReadingType descriptions.  It was also created to update the units of AirFlow to remove the deprecated format and the units of SpeedRPM to use the available UCUM format.  It was also created to correct various typographical errors.  It was also created to correct the minimum value for PowerFactor."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_4_0.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_4_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to improve the descriptions of Threshold properties and their usage.  It was also created to correct the regular expression pattern for duration properties in JSON Schema and OpenAPI to not allow for negative values."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_4_1.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_5_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2021.4"/>
      <Annotation Term="OData.Description" String="This version was created to add `AbsoluteHumidity` and `PressurekPa` to ReadingType."/>

      <EntityType Name="Sensor" BaseType="Sensor.v1_4_1.Sensor">
        <Property Name="ApparentkVAh" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="Apparent energy (kVAh)."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the apparent energy, in kilovolt-ampere-hour units, for an electrical energy measurement.  This property can appear in sensors with a ReadingType containing `EnergykWh`, and shall not appear in sensors with other ReadingType values."/>
          <Annotation Term="Measures.Unit" String="kV.A.h"/>
          <Annotation Term="Redfish.Excerpt" String="EnergykWh"/>
        </Property>
        <Property Name="ReactivekVARh" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="Reactive energy (kVARh)."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the reactive energy, in kilovolt-ampere-hours (reactive) units, for an electrical energy measurement.  This property can appear in sensors with a ReadingType containing `EnergykWh`, and shall not appear in sensors with other ReadingType values."/>
          <Annotation Term="Measures.Unit" String="kV.A.h"/>
          <Annotation Term="Redfish.Excerpt" String="EnergykWh"/>
        </Property>
        <Property Name="PhaseAngleDegrees" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The phase angle (degrees) between the current and voltage waveforms."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the phase angle, in degree units, between the current and voltage waveforms for an electrical measurement.  This property can appear in sensors with a ReadingType containing `Power`, and shall not appear in sensors with other ReadingType values."/>
          <Annotation Term="Validation.Minimum" Int="-90"/>
          <Annotation Term="Validation.Maximum" Int="90"/>
          <Annotation Term="Redfish.Excerpt" String="Power,PowerArray"/>
        </Property>
      </EntityType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_5_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to improve the descriptions of Threshold properties and their usage.  It was also created to correct the regular expression pattern for duration properties in JSON Schema and OpenAPI to not allow for negative values."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_5_0.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_6_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2022.2"/>
      <Annotation Term="OData.Description" String="This version was created to add the ResetToDefaults action."/>

      <EntityType Name="Sensor" BaseType="Sensor.v1_5_0.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_6_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to improve the descriptions of Threshold properties and their usage.  It was also created to correct the regular expression pattern for duration properties in JSON Schema and OpenAPI to not allow for negative values."/>
      <EntityType Name="Sensor" BaseType="Sensor.v1_6_0.Sensor"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Sensor.v1_7_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2023.1"/>
      <Annotation Term="OData.Description" String="This version was created to add `Heat` and `PressurePa` to ReadingType, and to deprecate `Pressure` for consistency with the definition for an equivalent Control resource's ControlType.  It was also created to add `Disabled` to Activation within Threshold."/>

      <EntityType Name="Sensor" BaseType="Sensor.v1_6_1.Sensor">
        <Property Name="ReadingBasis" Type="Sensor.v1_7_0.ReadingBasisType">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The basis for the reading of this sensor."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate the basis or frame of reference for the value of the Reading property.  If this property is not present, the value shall be assumed to be `Zero`."/>
        </Property>
      </EntityType>

      <EnumType Name="ReadingBasisType">
        <Member Name="Zero">
          <Annotation Term="OData.Description" String="A zero-based reading."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate a reading with zero as its reference point."/>
        </Member>
        <Member Name="Delta">
          <Annotation Term="OData.Description" String="A reading that reports the difference between two measurements."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate a reading that reports the difference between two measurements."/>
        </Member>
        <Member Name="Headroom">
          <Annotation Term="OData.Description" String="A reading that decreases as it approaches a defined reference point."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate a reading that decreases in value as it approaches the reference point.  If the value crosses the reference point, the value may be reported as a negative number, or may report a value of zero."/>
        </Member>
      </EnumType>

      <ComplexType Name="Threshold" BaseType="Sensor.v1_0_0.Threshold">
        <Property Name="HysteresisReading" Type="Edm.Decimal">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The reading offset from the threshold value required to clear the threshold."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate the offset from the reading for this sensor and the threshold value that deactivates the threshold.  For example, a value of `-2` indicates the sensor reading shall fall 2 units below an upper threshold value to deactivate the threshold.  The value of the property shall use the same units as the Reading property.  A value of `0`, or if the property is not present in the resource, shall indicate the threshold is deactivated when the sensor value no longer violates the threshold.  The threshold shall not deactivate until the conditions of both HysteresisReading and HysteresisDuration are met."/>
        </Property>
        <Property Name="HysteresisDuration" Type="Edm.Duration">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The duration the sensor value must not violate the threshold before the threshold is deactivated."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate the duration the sensor value no longer violates the threshold before the threshold is deactivated.  A duration of zero seconds, or if the property is not present in the resource, shall indicate the threshold is deactivated immediately once the sensor value no longer violates the threshold.  The threshold shall not deactivate until the conditions of both HysteresisReading and HysteresisDuration are met."/>
        </Property>
      </ComplexType>
    </Schema>

  </edmx:DataServices>
</edmx:Edmx>
