diff --git a/src/store/modules/Health/PowerSupplyStore.js b/src/store/modules/Health/PowerSupplyStore.js
index 565715f..cc82f2e 100644
--- a/src/store/modules/Health/PowerSupplyStore.js
+++ b/src/store/modules/Health/PowerSupplyStore.js
@@ -38,14 +38,34 @@
     },
   },
   actions: {
-    async getPowerSupply({ commit }) {
+    async getChassisCollection() {
       return await api
-        .get('/redfish/v1/Chassis/chassis/Power')
-        .then(({ data: { PowerSupplies } }) =>
-          commit('setPowerSupply', PowerSupplies)
+        .get('/redfish/v1/Chassis')
+        .then(({ data: { Members } }) =>
+          Members.map((member) => member['@odata.id'])
         )
         .catch((error) => console.log(error));
     },
+    async getAllPowerSupplies({ dispatch, commit }) {
+      const collection = await dispatch('getChassisCollection');
+      if (!collection) return;
+      return await api
+        .all(collection.map((chassis) => dispatch('getChassisPower', chassis)))
+        .then((supplies) => {
+          let suppliesList = [];
+          supplies.forEach(
+            (supply) => (suppliesList = [...suppliesList, ...supply])
+          );
+          commit('setPowerSupply', suppliesList);
+        })
+        .catch((error) => console.log(error));
+    },
+    async getChassisPower(_, id) {
+      return await api
+        .get(`${id}/Power`)
+        .then(({ data: { PowerSupplies } }) => PowerSupplies || [])
+        .catch((error) => console.log(error));
+    },
   },
 };
 
