diff --git a/src/views/Health/HardwareStatus/HardwareStatus.vue b/src/views/Health/HardwareStatus/HardwareStatus.vue
index 9f34b53..2860e59 100644
--- a/src/views/Health/HardwareStatus/HardwareStatus.vue
+++ b/src/views/Health/HardwareStatus/HardwareStatus.vue
@@ -4,25 +4,36 @@
 
     <!-- System table -->
     <table-system />
+
+    <!-- Power supplies table -->
+    <table-power-supplies />
   </b-container>
 </template>
 
 <script>
 import PageTitle from '@/components/Global/PageTitle';
 import TableSystem from './HardwareStatusTableStystem';
+import TablePowerSupplies from './HardwareStatusTablePowerSupplies';
 import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin';
 
 export default {
-  components: { PageTitle, TableSystem },
+  components: { PageTitle, TablePowerSupplies, TableSystem },
   mixins: [LoadingBarMixin],
   created() {
     this.startLoader();
     const systemTablePromise = new Promise(resolve => {
       this.$root.$on('hardwareStatus::system::complete', () => resolve());
     });
+    const powerSuppliesTablePromise = new Promise(resolve => {
+      this.$root.$on('hardwareStatus::powerSupplies::complete', () =>
+        resolve()
+      );
+    });
     // Combine all child component Promises to indicate
     // when page data load complete
-    Promise.all([systemTablePromise]).finally(() => this.endLoader());
+    Promise.all([systemTablePromise, powerSuppliesTablePromise]).finally(() =>
+      this.endLoader()
+    );
   },
   beforeRouteLeave(to, from, next) {
     // Hide loader if user navigates away from page
