diff --git a/pve-mod-gui-temp.sh b/pve-mod-gui-temp.sh
index a7b1b51..6d9ee31 100644
--- a/pve-mod-gui-temp.sh
+++ b/pve-mod-gui-temp.sh
@@ -72,7 +72,7 @@ function install_mod {
# Create backup of original file
cp "$pvemanagerlib" "$backuplocation/pvemanagerlib.js.$timestamp"
echo "Backup of $pvemanagerlib saved to $backuplocation/pvemanagerlib.js.$timestamp"
-
+
# Expand space in StatusView
sed -i "/Ext.define('PVE\.node\.StatusView'/,/\},/ {
s/\(bodyPadding:\) '[^']*'/\1 '20 15 20 15'/
@@ -106,9 +106,7 @@ function install_mod {
const objValue = JSON.parse(value);\n\
if(objValue.hasOwnProperty(address)) \{\n\
const items = objValue[address],\n\
- coreKeys = Object.keys(items).filter(item => \{\n\
- return String(item).startsWith(itemPrefix);\n\
- \});\n\
+ coreKeys = Object.keys(items).filter(item => \{ return String(item).startsWith(itemPrefix); \}).sort();\n\
\n\
let temps = [];\n\
coreKeys.forEach((coreKey, index) => \{\n\
@@ -119,7 +117,7 @@ function install_mod {
});\n\
\n\
const result = temps.map((strTemp, index, arr) => { return strTemp + (index + 1 < arr.length ? ((index + 1) % coresPerRow === 0 ? '
' : ' | ') : '')});\n\
- return result.join('');\n\
+ return result.length > 0 ? result.join('') : 'N/A';\n\
\}\n\
}\n\
},\n\
@@ -136,22 +134,57 @@ function install_mod {
sensorName = \"Composite\",\n\
tempInputNo = 1;\n\
// display configuration\n\
- const driversPerRow = 4;\n\
+ const drivesPerRow = 4;\n\
\n\
const objValue = JSON.parse(value),\n\
- nvmeKeys = Object.keys(objValue).filter(item => \{ return String(item).startsWith(addressPrefix); \});\n\
+ nvmeKeys = Object.keys(objValue).filter(item => \{ return String(item).startsWith(addressPrefix); \}).sort();\n\
\n\
let temps = [];\n\
nvmeKeys.forEach((nvmeKey, index) => \{\n\
try \{\n\
- let temp = objValue[nvmeKey][sensorName][\`temp\$\{tempInputNo\}_input\`]\n\
+ let temp = objValue[nvmeKey][sensorName][\`temp\$\{tempInputNo\}_input\`];\n\
temps.push(\`Drive \$\{index\}: \$\{temp\}°C\`);\n\
\} catch(e) \{ /*_*/ \}\n\
\});\n\
\n\
- const result = temps.map((strTemp, index, arr) => \{ return strTemp + (index + 1 < arr.length ? ((index + 1) % driversPerRow === 0 ? '
' : ' | ') : '')\});\n\
- return result.join('');\n\
+ const result = temps.map((strTemp, index, arr) => \{ return strTemp + (index + 1 < arr.length ? ((index + 1) % drivesPerRow === 0 ? '
' : ' | ') : '')\});\n\
+ return result.length > 0 ? result.join('') : 'N/A';\n\
\}\n\
+ },\n\
+ {\n\
+ xtype: 'box',\n\
+ colspan: 1,\n\
+ padding: '0 0 20 0',\n\
+ },\n\
+ {\n\
+ itemId: 'thermal3',\n\
+ colspan: 1,\n\
+ printBar: false,\n\
+ title: gettext('HDD/SSD Thermal State'),\n\
+ iconCls: 'fa fa-fw fa-thermometer-half',\n\
+ textField: 'thermalstate2',\n\
+ renderer: function(value){\n\
+ // sensors configuration\n\
+ const addressPrefix = \"drivetemp-scsi-\",\n\
+ sensorName = \"temp1\",\n\
+ tempInputNo = 1;\n\
+ // display configuration\n\
+ const drivesPerRow = 4;\n\
+\n\
+ const objValue = JSON.parse(value),\n\
+ drvKeys = Object.keys(objValue).filter(item => { return String(item).startsWith(addressPrefix); }).sort();\n\
+\n\
+ let temps = [];\n\
+ drvKeys.forEach((drvKey, index) => {\n\
+ try {\n\
+ let temp = objValue[drvKey][sensorName][\`temp\${tempInputNo}_input\`];\n\
+ temps.push(\`Drive \${index}: \${temp}°C\`);\n\
+ } catch(e) { /*_*/ }\n\
+ });\n\
+\n\
+ const result = temps.map((strTemp, index, arr) => { return strTemp + (index + 1 < arr.length ? ((index + 1) % drivesPerRow === 0 ? '
' : ' | ') : '')});\n\
+ return result.length > 0 ? result.join('') : 'N/A';\n\
+ }\n\
},
}" $pvemanagerlib
echo "Added new item to the items array in $pvemanagerlib"