BMC Sensor Data
The following is a list of the available sensors maintained by the BMC including their type and name.
| Sensor Name | Sensor Type | Source | Description | 
| p0_link | Discrete | IPMB | Uplink port 0 link status 
 | 
| p1_link | Discrete | IPMB | Uplink port 1 link status 
 | 
| bluefield_temp | Temperature | IPMB | Bluefield DPU Temperature | 
| p0_temp | Temperature | IPMB | Uplink port 0 SFP temperature | 
| p1_temp | Temperature | IPMB | Uplink port 1 SFP temperature | 
| 1V_BMC | Voltage | BMC ADC | |
| 1_2V_BMC | Voltage | BMC ADC | |
| 1_8V | Voltage | BMC ADC | |
| 1_8V_BMC | Voltage | BMC ADC | |
| 2_5V | Voltage | BMC ADC | |
| 3_3V | Voltage | BMC ADC | |
| 3_3V_RGM | Voltage | BMC ADC | |
| 5V | Voltage | BMC ADC | |
| 12V_ATX | Voltage | BMC ADC | Input power rail from ATX (power from gold fingers in case of Sub75 when ATX power is off) | 
| 12V_PCIe | Voltage | BMC ADC | Input power rail from gold fingers | 
| DVDD | Voltage | BMC ADC | |
| HVDD | Voltage | BMC ADC | |
| VDD | Voltage | BMC ADC | |
| VDDQ | Voltage | BMC ADC | |
| VDD_CPU_L | Voltage | BMC ADC | |
| VDD_CPU_R | Voltage | BMC ADC | 
Get List of Support Sensors
BlueField sensors are stored within the Sensors schema under the Chassis schema. To retrieve the list of supported sensors, execute the following command:
            
            curl -k -u root:'<password>' -H 'Content-Type: application/json' -X GET https://<bmc_ip>/redfish/v1/Chassis/Card1/Sensors
    
The following is an example of the anticipated output:
            
            {
  "@odata.id": "/redfish/v1/Chassis/Card1/Sensors",
  "@odata.type": "#SensorCollection.SensorCollection",
  "Description": "Collection of Sensors for this Chassis",
  "Members": [
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/bluefield_temp"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/p0_temp"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/p1_temp"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/12V_ATX"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/12V_PCIe"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/1V_BMC"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/1_2V_BMC"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/1_8V"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/1_8V_BMC"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/2_5V"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/3_3V"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/3_3V_RGM"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/5V"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/DVDD"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/HVDD"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/VDD"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/VDDQ"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/VDD_CPU_L"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/VDD_CPU_R"
    }
  ],
  "Members@odata.count": 19,
  "Name": "Sensors"
}
    
    
    
        
Get Data for Specific Sensor
            
            curl -k -u root:'<password>' -H 'Content-Type: application/json' -X GET https://<bmc_ip>/redfish/v1/Chassis/Card1/Sensors/<sensor_name>
    
The following is an example of a temperature sensor BlueField reading:
            
            curl -k -u root:'<password>' -H 'Content-Type: application/json' -X GET https://<bmc_ip>/redfish/v1/Chassis/Card1/Sensors/bluefield_temp
{
  "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/bluefield_temp",
  "@odata.type": "#Sensor.v1_2_0.Sensor",
  "Id": "bluefield_temp",
  "Name": "bluefield temp",
  "Reading": 43.0,
  "ReadingRangeMax": 255.0,
  "ReadingRangeMin": 0.0,
  "ReadingType": "Temperature",
  "ReadingUnits": "Cel",
  "RelatedItem": [
    {
      "@odata.id": "/redfish/v1/Systems/Bluefield"
    }
  ],
  "Status": {
    "Conditions": [],
    "Health": "OK",
    "HealthRollup": "OK",
    "State": "Enabled"
  },
  "Thresholds": {
    "LowerCaution": {
      "Reading": 5.0
    },
    "LowerCritical": {
      "Reading": 0.0
    },
    "UpperCaution": {
      "Reading": 95.0
    },
    "UpperCritical": {
      "Reading": 105.0
    }
  }
}
    
    
    
        
Configure Sensor Thresholds
The following commands set the thresholds for sensors that support setting a threshold:
            
            curl -k -u root:'<password>' -X PATCH https://<bmc_ip>/redfish/v1/Chassis/Card1/Sensors/<sensor name>/ -d '{"Thresholds":{"<Threshold name>": {"Reading":<value>}}}'
    
The following is an example of how to set the upper critical threshold for the BlueField temperature sensor:
            
            curl -k -u root:'<password>' -X PATCH https://<bmc_ip>/redfish/v1/Chassis/Card1/Sensors/bluefield_temp -d '{"Thresholds":{"UpperCritical": {"Reading":100}}}'
{
  "@Message.ExtendedInfo": [
    {
      "@odata.type": "#Message.v1_1_1.Message",
      "Message": "The request completed successfully.",
      "MessageArgs": [],
      "MessageId": "Base.1.15.0.Success",
      "MessageSeverity": "OK",
      "Resolution": "None"
    }
  ]
}
    
    
    
BMC software supports reading chassis sensor information using the IPMItool.
The following table lists commands which allow reading SDR data:
| Command | Description | 
| 
            
             | Displays sensor data repository entry readings and their status | 
| 
            
             | Displays extended sensor information | 
| 
            
             | Displays sensors and thresholds in a wide table format | 
| 
            
             | Displays information for sensor data records specified by sensor ID | 
| 
            
             | Displays all records from the SDR repository of a specific type | 
| 
            
             | Displays information for sensors specified by name | 
| 
            
             | Displays readings for sensors specified by name (only for numeric sensors) | 
| 
            
             | 
 If a threshold is crossed, a message is added to the Redfish event log, SEL, and journal. |