diff --git a/data/ipmi_raw_cmd_table.py b/data/ipmi_raw_cmd_table.py
index 5ed4b9b..7e7f84a 100644
--- a/data/ipmi_raw_cmd_table.py
+++ b/data/ipmi_raw_cmd_table.py
@@ -408,5 +408,14 @@
             'Invalid value',
             'Valid values are serial, 9.6 19.2, 38.4, 57.6 and 115.2',
         ],
+    },
+    'Get':
+    {
+        'POH_Counter':
+        [
+            # raw command, error response
+            '0x00 0x0f',
+            'Error: Unable to establish IPMI v2 / RMCP+ session'
+        ]
     }
 }
diff --git a/ipmi/test_ipmi_poh_counter.robot b/ipmi/test_ipmi_poh_counter.robot
new file mode 100644
index 0000000..8f2ff85
--- /dev/null
+++ b/ipmi/test_ipmi_poh_counter.robot
@@ -0,0 +1,163 @@
+*** Settings ***
+Documentation       This suite tests IPMI POH Counter Support in OpenBMC.
+...                 Feature: IPMI POH Counter Support
+...
+...                 POH (Power-On Hours) counter is the incremental count of power ON hours in the system.
+...
+...                 Request and Response data defined under data/ipmi_raw_cmd_table.py
+...
+...                 Testcases added -
+...                 Get POH Counter Command Via IPMI
+...                 Verify Get POH Counter With Invalid Data Request Via IPMI
+...                 Verify POH Counter Reading With Wait Time
+...                 Verify POH Counter Reading With Host Power Off
+...                 Verify POH Counter Reading With Host Power On
+...
+...                 Script compares Minutes per count and Counter reading for the above scenarios.
+...
+...                 Minutes per count usually 60 minutes.
+...
+...                 Wait Time given - 1 hour, 1 hour 30minutes when Host power OFF, 1 hour after Host Power ON
+...
+...                 Comparison between Initial POH Counter reading and reading after wait time / Power operation.
+
+
+Library             Collections
+Library             ../lib/ipmi_utils.py
+Resource            ../lib/ipmi_client.robot
+Resource            ../lib/openbmc_ffdc.robot
+Variables           ../data/ipmi_raw_cmd_table.py
+
+Suite Setup      Suite Setup Execution
+Suite Teardown   Suite Teardown Execution
+
+Test Teardown    FFDC On Test Case Fail
+
+
+*** Variables ***
+
+
+*** Test Cases ***
+
+Get POH Counter Command Via IPMI
+    [Documentation]  Verify get POH counter command Via IPMI.
+    [Tags]  Get_POH_Counter_Command_Via_IPMI
+
+    # Verify get POH counter command via IPMI.
+    ${resp}=  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['Get']['POH_Counter'][0]}
+    Should Not Contain  ${resp}  ${IPMI_RAW_CMD['Get']['POH_Counter'][1]}
+
+
+Verify Get POH Counter With Invalid Data Request Via IPMI
+    [Documentation]  Verify get POH counter with invalid data request via IPMI.
+    [Tags]  Verify_Get_POH_Counter_With_Invalid_Data_Request_Via_IPMI
+
+    # verify get POH counter command with invalid data request Via IPMI.
+    ${resp}=  Run Keyword and Expect Error  *Request data length invalid*
+    ...  Run IPMI Command  ${IPMI_RAW_CMD['Get']['POH_Counter'][0]} 0x00
+
+
+Verify POH Counter Reading With Wait Time
+    [Documentation]  Verify POH counter reading with wait time via IPMI.
+    [Tags]  Verify_POH_Counter_Reading_With_Wait_Time
+
+    # Get initial POH command counter reading.
+    ${poh_counter_1}=  Run Get POH Command And Return Counter Reading
+
+    # Sleep for given time.
+    Sleep  1h
+
+    # Get POH Counter Reading after waiting for given time period.
+    ${poh_counter_2}=  Run Get POH Command And Return Counter Reading
+
+    # Verify difference between initial and present counter readings.
+    # The counter reading should always be incremented by 1 for each hour.
+    ${difference}=  Evaluate   ${poh_counter_2} - ${poh_counter_1}
+    Should Be Equal As Integers  ${difference}  1
+
+
+Verify POH Counter Reading With Host Power Off
+    [Documentation]  Verify POH counter reading with wait time after host power off.
+    [Tags]  Verify_POH_Counter_Reading_With_Host_Power_Off
+
+    # Get initial POH command counter reading.
+    ${poh_counter_1}=  Run Get POH Command And Return Counter Reading
+
+    # Power off the system.
+    IPMI Power Off
+
+    # Sleep for given time.
+    Sleep  1 hours 30 minutes
+
+    # Get POH counter reading after waiting for given time period.
+    ${poh_counter_2}=  Run Get POH Command And Return Counter Reading
+
+    # Once the system is powered off,
+    # the poh counter reading should not increment.
+    Should Be Equal As Integers  ${poh_counter_2}  ${poh_counter_1}
+
+
+Verify POH Counter Reading With Host Power On
+    [Documentation]  Verify Get POH Counter with wait time after host power on.
+    [Tags]  Verify_POH_Counter_Reading_With_Host_Power_On
+
+    # Get initial POH command counter reading.
+    ${poh_counter_1}=  Run Get POH Command And Return Counter Reading
+
+    # Power on the system.
+    IPMI Power On
+
+    # Sleep for given time.
+    Sleep  1h
+
+    # Get POH Counter reading after waiting for given time period.
+    ${poh_counter_2}=  Run Get POH Command And Return Counter Reading
+
+    # Once the system is powered on,
+    # the pon counter reading should increment by 1.
+    ${difference}=  Evaluate   ${poh_counter_2} - ${poh_counter_1}
+    Should Be Equal As Integers  ${difference}  1
+
+
+*** Keywords ***
+
+Run Get POH Command And Return Counter Reading
+    [Documentation]  Run the IPMI command to Get POH Counter.
+
+    # Get POH counter Via IPMI.
+    ${resp}=  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['Get']['POH_Counter'][0]}
+
+    # Verify Minutes per count.
+    ${data}=  Split String  ${resp}
+    Should Be Equal  ${data[0]}  3c
+
+    # Get POH Command counter reading.
+    ${poh_counter_reading}=  Set Variable  ${data[1:]}
+    Reverse List  ${poh_counter_reading}
+    ${poh_counter_reading}=  Evaluate  "".join(${poh_counter_reading})
+    ${poh_counter_reading}=  Convert To Integer  ${poh_counter_reading}  16
+
+    [Return]  ${poh_counter_reading}
+
+
+Suite Setup Execution
+    [Documentation]  Suite Setup Execution.
+
+    Redfish.Login
+
+    # Check Host current status.
+    ${current_host_state}=  Get Host State Via Redfish
+
+    # If Host state is 'On' then the condition will not be executed.
+    # Host may take approx 5 - 6 minutes to complete power ON process.
+    Run Keyword If  '${current_host_state}' == 'Off'
+    ...  IPMI Power On
+
+
+Suite Teardown Execution
+    [Documentation]  Suite Teardown Execution.
+
+    IPMI Power On
+    Redfish.Logout
diff --git a/lib/state_manager.robot b/lib/state_manager.robot
index b2fc6b5..4952482 100755
--- a/lib/state_manager.robot
+++ b/lib/state_manager.robot
@@ -316,3 +316,12 @@
 Wait For BMC Ready
     [Documentation]  Check BMC state and wait for BMC Ready.
     Wait Until Keyword Succeeds  10 min  10 sec  Is BMC Ready
+
+
+Get Host State Via Redfish
+    [Documentation]  Return the state of the host Via Redfish as a string.
+
+    ${powerstate}=
+    ...  Redfish.Get Attribute  ${REDFISH_CHASSIS_URI}/${CHASSIS_ID}  PowerState
+
+    [Return]  ${powerstate}
