diff --git a/data/variables.py b/data/variables.py
index f62dd48..231d08f 100755
--- a/data/variables.py
+++ b/data/variables.py
@@ -20,6 +20,8 @@
 SNMP_MANAGER_URI = NETWORK_MANAGER + 'snmp/manager/'
 # Sensors base variables.
 SENSORS_URI = OPENBMC_BASE_URI + 'sensors/'
+# Thermal Control base variables
+THERMAL_CONTROL_URI = CONTROL_URI + 'thermal/0'
 
 # State Manager base variables
 BMC_REBOOT_TRANS = 'xyz.openbmc_project.State.BMC.Transition.Reboot'
diff --git a/redfish/systems/test_alternate_fan_settings.robot b/redfish/systems/test_alternate_fan_settings.robot
new file mode 100755
index 0000000..2688680
--- /dev/null
+++ b/redfish/systems/test_alternate_fan_settings.robot
@@ -0,0 +1,152 @@
+*** Settings ***
+
+Documentation  Test Suite for Suppported Fan Modules.
+
+Resource         ../../lib/rest_client.robot
+Resource         ../../lib/bmc_redfish_resource.robot
+Resource         ../../lib/bmc_redfish_utils.robot
+Resource         ../../lib/openbmc_ffdc.robot
+Resource         ../../lib/resource.robot
+Resource         ../../lib/boot_utils.robot
+Library          ../../lib/gen_robot_valid.py
+Library          ../../lib/gen_robot_keyword.py
+
+Suite Setup      Suite Setup Execution
+Suite Teardown   Suite Teardown Execution
+Test Setup       Printn
+Test Teardown    Test Teardown Execution
+
+
+*** Variables ***
+
+@{VALID_MODE_VALUES}   DEFAULT  CUSTOM  HEAVY_IO  MAX_BASE_FAN_FLOOR
+
+
+*** Test Cases ***
+
+Verify Current Fan Thermal Mode
+    [Documentation]  Check current thermal fan mode is a valid mode value.
+    [Tags]  Verify_Current_Fan_Thermal_Mode
+
+    # Example:
+    #  /xyz/openbmc_project/control/thermal/0
+    #
+    # Response code:200, Content: {
+    # "data": {
+    #         "Current": "DEFAULT",
+    #         "Supported": [
+    #           "DEFAULT",
+    #           "CUSTOM",
+    #           "HEAVY_IO",
+    #           "MAX_BASE_FAN_FLOOR"
+    #         },
+    #         },
+    # "message": "200 OK",
+    # "status": "ok"
+    # }
+
+    ${current}=  Read Attribute  ${THERMAL_CONTROL_URI}  Current
+    Rprint Vars  current
+
+    Valid Value  current  valid_values=${VALID_MODE_VALUES}
+
+
+Verify Supported Fan Thermal Modes Available
+    [Documentation]  Check supported fan thermal modes are valid mode values.
+    [Tags]  Verify_Supported_Fan_Thermal_Modes_Available
+
+    ${supported}=  Read Attribute  ${THERMAL_CONTROL_URI}  Supported
+    Rprint Vars  supported
+
+    Valid List  supported  valid_values=${VALID_MODE_VALUES}
+
+
+Verify Supported Fan Thermal Modes Switch At Standby
+    [Documentation]  Check that supported modes are set successfully at standby.
+    [Tags]  Verify_Supported_Fan_Thermal_Modes_Switch_At_Standby
+    [Template]  Set and Verify Thermal Mode Switches
+
+    # pre_req_state      thermal_mode_type
+    Off                  DEFAULT
+    Off                  CUSTOM
+    Off                  HEAVY_IO
+    Off                  MAX_BASE_FAN_FLOOR
+
+
+Verify Supported Fan Thermal Modes Switch At Runtime
+    [Documentation]  Check that supported modes are set successfully at runtime.
+    [Tags]  Verify_Supported_Fan_Thermal_Modes_Switch_At_Runtime
+    [Template]  Set and Verify Thermal Mode Switches
+
+    # pre_req_state      thermal_mode
+    On                   DEFAULT
+    On                   CUSTOM
+    On                   HEAVY_IO
+    On                   MAX_BASE_FAN_FLOOR
+
+
+Verify Supported Fan Thermal Mode Remains Set After IPL
+    [Documentation]  Check that supported modes remain set at runtime.
+    [Tags]  Verify_Supported_Fan_Thermal_Mode_Remains_Set_After_IPL
+    [Template]  Set and Verify Thermal Mode After IPL
+
+    # pre_req_state      thermal_mode_type
+    Off                  DEFAULT
+    Off                  CUSTOM
+    Off                  HEAVY_IO
+    Off                  MAX_BASE_FAN_FLOOR
+
+
+*** Keywords ***
+
+Set and Verify Thermal Mode Switches
+    [Documentation]  Verify the thermal mode switches successfully at standby or runtime.
+    [Arguments]  ${pre_req_state}  ${thermal_mode}
+
+    # Description of Arguments(s):
+    # thermal_mode       Read the supported thermal mode (e.g. "CUSTOM")
+    # pre_req_state      Set the state of the host to Standby or Runtime (e.g. "Running")
+
+    Run Key U  Redfish Power ${pre_req_state} \ stack_mode=skip \ quiet=1
+    Redfish.Login
+
+    ${mode}=  Redfish.Put  ${THERMAL_CONTROL_URI}/attr/Current  body={"data": "${thermal_mode}"}
+
+    ${current}=  Read Attribute  ${THERMAL_CONTROL_URI}  Current
+    Should Be Equal As Strings  ${thermal_mode}  ${current}
+    ...  msg=The thermal mode does not match the current fan mode.
+    Rprint Vars  current
+
+
+Set and Verify Thermal Mode After IPL
+    [Documentation]  Verify the thermal mode remains set at runtime.
+    [Arguments]  ${pre_req_state}  ${thermal_mode}
+
+    Set and Verify Thermal Mode Switches  ${pre_req_state}  ${thermal_mode}
+
+    Run Key U  Redfish Power On \ stack_mode=normal \ quiet=1
+    Redfish.Login
+
+    ${current}=  Read Attribute  ${THERMAL_CONTROL_URI}  Current
+    Should Be Equal As Strings  ${thermal_mode}  ${current}
+    ...  msg=The current thermal fan mode switched successfully.
+    Rprint Vars  current
+
+
+Suite Teardown Execution
+    [Documentation]  Do the post suite teardown.
+
+    Redfish.Logout
+
+
+Suite Setup Execution
+    [Documentation]  Do test case setup tasks.
+
+    Printn
+    Redfish.Login
+
+
+Test Teardown Execution
+    [Documentation]  Do the post test teardown.
+
+    FFDC On Test Case Fail
