diff --git a/pve-mod-all.sh b/pve-mod-all.sh
index 914b478..9229cca 100644
--- a/pve-mod-all.sh
+++ b/pve-mod-all.sh
@@ -3,7 +3,7 @@
# This script's working directory
SCRIPT_CWD="$(dirname "$(readlink -f "$0")")"
-MODS="pve-mod-gui-temp.sh pve-mod-nag-screen.sh"
+MODS="pve-mod-gui-sensors.sh pve-mod-nag-screen.sh"
ACTION=${1:-install}
for m in $MODS; do
diff --git a/pve-mod-gui-temp.sh b/pve-mod-gui-sensors.sh
similarity index 99%
rename from pve-mod-gui-temp.sh
rename to pve-mod-gui-sensors.sh
index 4597c53..81e7eb9 100644
--- a/pve-mod-gui-temp.sh
+++ b/pve-mod-gui-sensors.sh
@@ -7,6 +7,7 @@
# Display configuration for HDD, NVME, CPU
# Set to 0 to disable line breaks
+# Note: use these settings only if the displayed layout is broken
CPU_ITEMS_PER_ROW=0;
NVME_ITEMS_PER_ROW=0;
HDD_ITEMS_PER_ROW=0;
@@ -165,7 +166,7 @@ function configure {
else
warn "No fan speeds found."
enableFanSpeed=false
- fi
+ fi
echo # add a new line
}
@@ -350,12 +351,12 @@ function install_mod {
if [ $enableNvmeTemp = true -o $enableHddTemp = true ]; then
sed -i "/^Ext.define('PVE.node.StatusView',/ {
- :a;
+ :a;
/items:/!{N;ba;}
:b;
/'thermal.*},/!{N;bb;}
- a\
- \\
+ a\
+ \\
{\n\
xtype: 'box',\n\
colspan: 2,\n\
@@ -387,7 +388,6 @@ function install_mod {
textField: 'sensorsOutput',\n\
renderer: function(value) {\n\
const objValue = JSON.parse(value);\n\
-\n\
let speeds = [];\n\
\n\
// Loop through the parent keys\n\
@@ -412,15 +412,15 @@ function install_mod {
\n\
return '
' + (speeds.length > 0 ? speeds.join(' | ') : 'N/A') + '
';\n\
}\n\
- },
- }" "$pvemanagerlibjs"
+ },
+ }" "$pvemanagerlibjs"
fi
# Add an empty line to separate modified items as a visual group
# NOTE: Check for the presence of items in the reverse order of display
local lastItemId=""
if [ $enableHddTemp = true ]; then
- lastItemId="thermalHdd"
+ lastItemId="thermalHdd"
elif [ $enableNvmeTemp = true ]; then
lastItemId="thermalNvme"
elif [ $enableFanSpeed = true ]; then
@@ -428,7 +428,7 @@ function install_mod {
else
lastItemId="thermalCpu"
fi
-
+
if [ -n "$lastItemId" ]; then
sed -i "/^Ext.define('PVE.node.StatusView',/ {
:a;
@@ -442,7 +442,7 @@ function install_mod {
},
}" "$pvemanagerlibjs"
fi
-
+
# Move the node summary box into its own container
sed -i "/^\s*nodeStatus: nodeStatus,/ {
:a
@@ -464,7 +464,7 @@ function install_mod {
]\n\
},
}" "$pvemanagerlibjs"
-
+
# Deactivate the original box instance
sed -i "/^\s*nodeStatus: nodeStatus,/ {
:a
diff --git a/pve-mod-sensors.png b/pve-mod-sensors.png
new file mode 100644
index 0000000..e3f068f
Binary files /dev/null and b/pve-mod-sensors.png differ
diff --git a/pve-mod-temp.png b/pve-mod-temp.png
deleted file mode 100644
index caaee2c..0000000
Binary files a/pve-mod-temp.png and /dev/null differ
diff --git a/readme.md b/readme.md
index 94ce2ac..03a64e5 100644
--- a/readme.md
+++ b/readme.md
@@ -1,18 +1,18 @@
-# Proxmox mods and scripts
-A small collection of script and mods for Proxmox
+# Proxmox Virtual Environment mods and scripts
+A small collection of scripts and mods for Proxmox Virtual Environment (PVE)
If you find this helpful, a small donation is appreciated, [](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=K8XPMSEBERH3W).
-## Node temperature view
-(Tested compatibility: 7.x, 8.0.x, 8.1.x, 8.2.x)
+## Node sensor readings view
+(Tested compatibility: 7.x - 8.2)
-This bash script installs a modification to the Proxmox Virtual Environment (PVE) web user interface (UI) to display temperature information in a flexible manner for CPU, NVME and HDDs/SSDs. Fan speeds are also displayed, if available.
+This bash script installs a modification to the Proxmox Virtual Environment (PVE) web user interface (UI) to display sensor readings in a flexible manner. Supported are CPU, NVMe/HDD/SSD temperatures and fan speeds.
The modification includes three main steps:
-1. Create backups of the original files located at `/usr/share/pve-manager/js/pvemanagerlib.js` and `/usr/share/perl5/PVE/API2/Nodes.pm` in the `/root/backup` directory.
-2. Add a new line to the `Nodes.pm` file that reads the thermal state information of the host using the `sensors` command.
-3. Modify the `pvemanagerlib.js` file to expand the space in the StatusView and add a new item to the items array that displays the temperature information in Celsius for CPU, NVME and HDDs/SSDs.
+1. Create backups of the original files located at `/usr/share/pve-manager/js/pvemanagerlib.js` and `/usr/share/perl5/PVE/API2/Nodes.pm` in the `backup` directory relative to the script location.
+2. Add a new line to the `Nodes.pm` file that enables host system sensor readings using the `sensors` command.
+3. Modify the `pvemanagerlib.js` file to expand the space in the host summary view and add new items that displays the temperature information in Celsius for CPU, NVME and HDDs/SSDs, and fan speeds, if available.
The script provides two options: `install` and `uninstall`. The `install` option installs the modification, while the `uninstall` option removes it by copying the backup files to their original location. The script also restarts the `pveproxy` service to apply the changes.
@@ -21,16 +21,16 @@ For HDDs/SSDs readings to work, the kernal module drivetemp must be installed.
### Install
```
apt-get install lm-sensors
-wget https://raw.githubusercontent.com/Meliox/PVE-mods/main/pve-mod-gui-temp.sh
+wget https://raw.githubusercontent.com/Meliox/PVE-mods/main/pve-mod-gui-sensors.sh
```
Or use git clone.
-
+
Adjustments are available in the first part of the script, where paths can be edited, cpucore offset and display information.
## Nag screen deactivation
-(Tested compatibility: 7.x, 8.0.x, 8.1.x, 8.2.x)
+(Tested compatibility: 7.x - 8.2)
This bash script installs a modification to the Proxmox Virtual Environment (PVE) web user interface (UI) which deactivates the subscription nag screen.
The script provides two options: `install` and `uninstall`. The `install` option installs the modification, while the `uninstall` option removes it by copying the backup files to their original location.