Skip to content

15. Chassis

15.1 Overview

The Chassis resource represents the physical enclosure of the system, including sensors, power, and enclosure monitoring features. In this implementation, the Chassis provides the following functionalities:

Intrusion Sensor Detects chassis cover opening events. This feature allows administrators to monitor physical tampering or unauthorized access.

Buzzer Control Provides an audible alarm that can be manually triggered via API or automatically activated when an intrusion is detected.

Power Good (PGOOD) Reports the current power state of the chassis, including the status of individual power supplies and whether system power is good.

⚠️ Hardware Dependency These features require corresponding hardware support:

Intrusion detection requires a physical intrusion sensor.

Buzzer control requires a connected buzzer device.

Power Good reporting requires PSU monitoring and chassis power management hardware.

If the hardware does not support a requested feature, the service will return a 403 Forbidden status code.

15.2 API Endpoints

Method Endpoint Description
GET /redfish/v1/Chassis Retrieve the collection of chassis resources.
GET /redfish/v1/Chassis/{ChassisId} Retrieve details of a specific chassis, including links to sensors and power.
PATCH /redfish/v1/Chassis/{ChassisId} Modify the buzzer related settings.
GET /redfish/v1/Chassis/{ChassisId}/Sensors Retrieve the collection of sensors associated with this chassis.
GET /redfish/v1/Chassis/{ChassisId}/Sensors/{SensorId} Retrieve the chassis intrusion sensor state.
PATCH /redfish/v1/Chassis/{ChassisId}/Sensors/{SensorId} Modify the chassis intrusion sensor setting.
GET /redfish/v1/Chassis/{ChassisId}/Power Retrieve power-related information and PGOOD state of the chassis.
POST /redfish/v1/Chassis/{ChassisId}/Actions/Oem/ERMI.Buzzer.Activate Manually activate the buzzer.
POST /redfish/v1/Chassis/{ChassisId}/Actions/Oem/ERMI.Buzzer.Deactivate Manually deactive the buzzer.

Get Chassis Collection

Retrieve the collection of chassis resources.

URI: /redfish/v1/Chassis

Method: GET

Response:

HTTP Status Code: 200 OK

The response body as below:

{
    "@odata.id": "/redfish/v1/Chassis",
    "@odata.type": "#ChassisCollection.ChassisCollection",
    "Name": "Chassis Collection",
    "Members@odata.count": 1,
    "Members": [
        {
            "@odata.id": "/redfish/v1/Chassis/1"
        }
    ]
}

Get Chassis Resource

Retrieves detailed information about a specific chassis, including references to sensors and power resources.

URI: /redfish/v1/Chassis/{ChassisId}

Method: GET

Response:

HTTP Status Code: 200 OK

The response body as below:

{
    "@odata.id": "/redfish/v1/Chassis/1",
    "@odata.type": "#Chassis.v1_25_0.Chassis",
    "Id": "1",
    "Name": "Main System Chassis",
    "ChassisType": "Standalone",
    "Status": {
        "State": "Enabled",
        "Health": "OK"
    },
    "PhysicalSecurity": {
        "IntrusionSensor": "None",
        "IntrusionSensorNumber": 0
    },
    "Sensors": {
        "@odata.id": "/redfish/v1/Chassis/1/Sensors"
    },
    "Power": {
        "@odata.id": "/redfish/v1/Chassis/1/Power"
    },
    "Oem": {
        "ERMI": {
            "Buzzer": {
                "AutoTriggerOnIntrusion": false, 
                "CurrentState": "Off", 
                "Polarity": "TriggerLow" 
            }
        }
    },
    "Actions": {
        "Oem": {
            "#Buzzer.Activate": {
                "target": "/redfish/v1/Chassis/1/Actions/Oem/ERMI.Buzzer.Activate",
                "title": "Activate Buzzer"
            },
            "#Buzzer.Deactivate": {
                "target": "/redfish/v1/Chassis/1/Actions/Oem/ERMI.Buzzer.Deactivate",
                "title": "Deactivate Buzzer"
            }
        }
    }
}

Response Properties:

Property Type Description
PhysicalSecurity.IntrusionSensor string Indicates the state of the chassis intrusion detection sensor. If no sensor exists, the service should report None. If the chassis cover or housing has been opened or tampered with, the value is HardwareInrupt; otherwise, the value is Normal.
PhysicalSecurity.IntrusionSensorNumber string Identifies the numerical instance of the intrusion sensor, useful when a chassis has multiple intrusion sensors.
Oem.ERMI.Buzzer.AutoTriggerOnIntrusion boolean Automatically activated when an intrusion is detected.
Oem.ERMI.Buzzer.CurrentState string Indicates the current state of the buzzer. The valid values are On and Off.
Oem.ERMI.Buzzer.Polarity string Indicates the trigger polarity of the buzzer. Valid values are TriggerLow and TriggerHigh.

Note

If the hardware does not support this feature, the Sensors, Oem, and Actions properties will not be available.
Clients should not assume their presence in all chassis resources.

Get Sensor Collection

Retrieve the collection of sensor resources.

URI: /redfish/v1/Chassis/{ChassisId}/Sensors

Method: GET

Response:

HTTP Status Code: 200 OK

The response body as below:

{
    "@odata.id": "/redfish/v1/Chassis/1/Sensors",
    "@odata.type": "#SensorCollection.SensorCollection",
    "Members@odata.count": 1,
    "Name": "Chassis Sensors Collection",
    "Members":[
        {
            "@odata.id": "/redfish/v1/Chassis/1/Sensors/IntrusionSensor1"
        }
    ]
}

HTTP Status Code: 403 Forbidden

When the hardware does not support this functionality, the service will respond with HTTP status code 403 Forbidden.

Get Intrusion Sensor

Retrieves the specified intrusion sensor status.

URI: /redfish/v1/Chassis/{ChassisId}/Sensors/{SensorId}

Method: GET

Response:

HTTP Status Code: 200 OK

The response body as below:

{
    "@odata.id": "/redfish/v1/Chassis/1/Sensors/IntrusionSensor1",
    "@odata.type": "#Sensor.v1_8_1.Sensor",
    "Id": "IntrusionSensor1",
    "Name": "Chassis Intrusion Sensor1",
    "ReadingType": "Enumeration",
    "Reading": "Normal",
    "PhysicalContext": "Chassis",
    "Status": {
        "State": "Enabled",
        "Health": "OK"
    },
    "Oem": {
        "ERMI": {
            "Polarity": "TriggerLow" 
        }
    }
}

HTTP Status Code: 403 Forbidden

When the hardware does not support this functionality, the service will respond with HTTP status code 403 Forbidden.

Response Properties:

Property Type Description
ReadingType string Indicates the type of data reported by the sensor. Only supports the Enumeration currently.
Reading string The current value or state reported by the sensor. If the chassis cover or housing has been opened or tampered with, the value is HardwareInrupt; otherwise, the value is Normal.
Oem.ERMI.Polarity string Indicates the trigger polarity of the intrusion sensor. Valid values are TriggerLow and TriggerHigh.

Get Power Resource

Retrieve power-related information and PGOOD state of the chassis.

URI: /redfish/v1/Chassis/{ChassisId}/Power

Method: GET

Response:

HTTP Status Code: 200 OK

The response body as below:

{
    "@odata.id": "/redfish/v1/Chassis/1/Power",
    "@odata.type": "#Power.v1_7_2.Power",
    "Id": "Power",
    "Name": "Chassis Power Subsystem",
    "PowerSupplies": [
        {
            "MemberId": "1",
            "Name": "PSU1",
            "Status": {
                "State": "Enabled",
                "Health": "OK"
            }
        }
    ]
}

Response Properties:

Property Type Description
PowerSupplies[0].Status.State string When the hardware does not support Power Good detection, the State property will be reported as Disabled.
PowerSupplies[0].Status.Health string When the hardware supports Power Good detection, the Health property will report OK if power is detected, and Critical if no power is detected.

Configure Buzzer Setting

Configure the buzzer settings, including trigger polarity and automatic activation.

URI: /redfish/v1/Chassis/{ChassisId}

Method: PATCH

Request Body

{
    "Oem": {
        "ERMI": {
            "Buzzer": {
                "AutoTriggerOnIntrusion": false, 
                "Polarity": "TriggerLow" 
            }
        }
    }
}

Request Properties:

Property Type Description
Oem.ERMI.Buzzer.AutoTriggerOnIntrusion boolean Automatically activated when an intrusion is detected.
Oem.ERMI.Buzzer.Polarity string Indicates the trigger polarity of the buzzer. Valid values are TriggerLow and TriggerHigh.

Response:

HTTP Status Code: 204 No Content

If the operation is successful, a status code 204 No Content will be returned.

HTTP Status Code: 400 Bad Request

If the paramter of the request body is invalid, a status code 400 Bad Request will be returned.

HTTP Status Code: 403 Forbidden

When the hardware does not support this functionality, the service will respond with HTTP status code 403 Forbidden.

Configure Intrusion Sensor Setting

Configure the trigger polarity of the intrusion sensor.

URI: /redfish/v1/Chassis/{ChassisId}/Sensors/{SensorId}

Method: PATCH

Request Body

{
    "Oem": {
        "ERMI": {
            "Polarity": "TriggerLow" 
        }
    }
}

Request Properties:

Property Type Description
Oem.ERMI.Polarity string Indicates the trigger polarity of the intrusion sensor. Valid values are TriggerLow and TriggerHigh.

Response:

HTTP Status Code: 204 No Content

If the operation is successful, a status code 204 No Content will be returned.

HTTP Status Code: 400 Bad Request

If the paramter of the request body is invalid, a status code 400 Bad Request will be returned.

HTTP Status Code: 403 Forbidden

When the hardware does not support this functionality, the service will respond with HTTP status code 403 Forbidden.

Activate the Buzzer

Activate the buzzer.

URI: /redfish/v1/Chassis/{ChassisId}/Actions/Oem/ERMI.Buzzer.Activate

Method: POST

Response:

HTTP Status Code: 204 No Content

If the operation is successful, a status code 204 No Content will be returned.

HTTP Status Code: 403 Forbidden

When the hardware does not support this functionality, the service will respond with HTTP status code 403 Forbidden.

Deactivate the Buzzer

Deactivate the buzzer.

URI: /redfish/v1/Chassis/{ChassisId}/Actions/Oem/ERMI.Buzzer.Deactivate

Method: POST

Response:

HTTP Status Code: 204 No Content

If the operation is successful, a status code 204 No Content will be returned.

HTTP Status Code: 403 Forbidden

When the hardware does not support this functionality, the service will respond with HTTP status code 403 Forbidden.

Next section