From 6bca833663427b42a027b7b350f232f7a7ac5f2a Mon Sep 17 00:00:00 2001 From: bergware Date: Sat, 2 Dec 2023 10:13:38 +0100 Subject: [PATCH] Make SSD offset a variable instead of hardcoded Hidden variable for the moment --- emhttp/plugins/dynamix/DeviceInfo.page | 2 +- emhttp/plugins/dynamix/default.cfg | 1 + emhttp/plugins/dynamix/include/SmartInfo.php | 4 ++-- emhttp/plugins/dynamix/nchan/update_2 | 4 ++-- emhttp/plugins/dynamix/scripts/monitor | 4 ++-- emhttp/plugins/dynamix/scripts/statuscheck | 4 ++-- 6 files changed, 10 insertions(+), 9 deletions(-) diff --git a/emhttp/plugins/dynamix/DeviceInfo.page b/emhttp/plugins/dynamix/DeviceInfo.page index 7fcf157aa..364b1a20b 100755 --- a/emhttp/plugins/dynamix/DeviceInfo.page +++ b/emhttp/plugins/dynamix/DeviceInfo.page @@ -32,7 +32,7 @@ function setTemp(&$disk, $zone) { case 'hot': $nvme = 'wctemp'; break; case 'max': $nvme = 'cctemp'; break; } - return _var($disk,'transport')=='nvme' ? get_nvme_info(_var($disk,'device'),$nvme) : (_var($disk,'rotational',1)==0 && $display[$zone]>0 ? $display[$zone]+15 : $display[$zone]); + return _var($disk,'transport')=='nvme' ? get_nvme_info(_var($disk,'device'),$nvme) : (_var($disk,'rotational',1)==0 && $display[$zone]>0 ? $display[$zone]+$display['ssd'] : $display[$zone]); } function sanitize(&$val) { $data = explode('.',str_replace([' ',','],['','.'],$val)); diff --git a/emhttp/plugins/dynamix/default.cfg b/emhttp/plugins/dynamix/default.cfg index 1b0834ae8..b2d2d78e5 100644 --- a/emhttp/plugins/dynamix/default.cfg +++ b/emhttp/plugins/dynamix/default.cfg @@ -25,6 +25,7 @@ warning="70" critical="90" hot="45" max="55" +ssd="15" theme="white" locale="" raw="" diff --git a/emhttp/plugins/dynamix/include/SmartInfo.php b/emhttp/plugins/dynamix/include/SmartInfo.php index c331c3d1d..84e7094ae 100644 --- a/emhttp/plugins/dynamix/include/SmartInfo.php +++ b/emhttp/plugins/dynamix/include/SmartInfo.php @@ -59,8 +59,8 @@ case "attributes": $events = explode('|',get_value($disk,'smEvents',$numbers)); extract(parse_plugin_cfg('dynamix',true)); [$hotNVME,$maxNVME] = _var($disk,'transport')=='nvme' ? get_nvme_info(_var($disk,'device'),'temp') : [-1,-1]; - $hot = _var($disk,'hotTemp',-1)>=0 ? $disk['hotTemp'] : ($hotNVME>=0 ? $hotNVME : (_var($disk,'rotational',1)==0 && $display['hot']>0 ? $display['hot']+15 : $display['hot'])); - $max = _var($disk,'maxTemp',-1)>=0 ? $disk['maxTemp'] : ($maxNVME>=0 ? $maxNVME : (_var($disk,'rotational',1)==0 && $display['max']>0 ? $display['max']+15 : $display['max'])); + $hot = _var($disk,'hotTemp',-1)>=0 ? $disk['hotTemp'] : ($hotNVME>=0 ? $hotNVME : (_var($disk,'rotational',1)==0 && $display['hot']>0 ? $display['hot']+$display['ssd'] : $display['hot'])); + $max = _var($disk,'maxTemp',-1)>=0 ? $disk['maxTemp'] : ($maxNVME>=0 ? $maxNVME : (_var($disk,'rotational',1)==0 && $display['max']>0 ? $display['max']+$display['ssd'] : $display['max'])); $top = $_POST['top'] ?? 120; $empty = true; exec("smartctl -n standby -A $type ".escapeshellarg("/dev/$port"),$output); diff --git a/emhttp/plugins/dynamix/nchan/update_2 b/emhttp/plugins/dynamix/nchan/update_2 index a64065fd5..9b44c85db 100755 --- a/emhttp/plugins/dynamix/nchan/update_2 +++ b/emhttp/plugins/dynamix/nchan/update_2 @@ -160,8 +160,8 @@ function device_temp(&$disk, &$red, &$orange) { $spin = strpos(_var($disk,'color'),'blink')===false; $temp = _var($disk,'temp','*'); [$hotNVME,$maxNVME] = _var($disk,'transport')=='nvme' ? get_nvme_info(_var($disk,'device'),'temp') : [-1,-1]; - $hot = _var($disk,'hotTemp',-1)>=0 ? $disk['hotTemp'] : ($hotNVME>=0 ? $hotNVME : (_var($disk,'rotational',1)==0 && $display['hot']>0 ? $display['hot']+15 : $display['hot'])); - $max = _var($disk,'maxTemp',-1)>=0 ? $disk['maxTemp'] : ($maxNVME>=0 ? $maxNVME : (_var($disk,'rotational',1)==0 && $display['max']>0 ? $display['max']+15 : $display['max'])); + $hot = _var($disk,'hotTemp',-1)>=0 ? $disk['hotTemp'] : ($hotNVME>=0 ? $hotNVME : (_var($disk,'rotational',1)==0 && $display['hot']>0 ? $display['hot']+$display['ssd'] : $display['hot'])); + $max = _var($disk,'maxTemp',-1)>=0 ? $disk['maxTemp'] : ($maxNVME>=0 ? $maxNVME : (_var($disk,'rotational',1)==0 && $display['max']>0 ? $display['max']+$display['ssd'] : $display['max'])); $top = $display['top'] ?? 120; $heat = false; $color = 'green'; if (exceed($temp,$max,$top)) { diff --git a/emhttp/plugins/dynamix/scripts/monitor b/emhttp/plugins/dynamix/scripts/monitor index ad069b27c..a5143fd62 100755 --- a/emhttp/plugins/dynamix/scripts/monitor +++ b/emhttp/plugins/dynamix/scripts/monitor @@ -48,8 +48,8 @@ function check_temp(&$disk,$text,$info) { $named = no_tilde($name); $temp = _var($disk,'temp','*'); [$hotNVME,$maxNVME] = _var($disk,'transport')=='nvme' ? get_nvme_info(_var($disk,'device'),'temp') : [-1,-1]; - $hot = _var($disk,'hotTemp',-1)>=0 ? $disk['hotTemp'] : ($hotNVME>=0 ? $hotNVME : (_var($disk,'rotational',1)==0 && $display['hot']>0 ? $display['hot']+15 : $display['hot'])); - $max = _var($disk,'maxTemp',-1)>=0 ? $disk['maxTemp'] : ($maxNVME>=0 ? $maxNVME : (_var($disk,'rotational',1)==0 && $display['max']>0 ? $display['max']+15 : $display['max'])); + $hot = _var($disk,'hotTemp',-1)>=0 ? $disk['hotTemp'] : ($hotNVME>=0 ? $hotNVME : (_var($disk,'rotational',1)==0 && $display['hot']>0 ? $display['hot']+$display['ssd'] : $display['hot'])); + $max = _var($disk,'maxTemp',-1)>=0 ? $disk['maxTemp'] : ($maxNVME>=0 ? $maxNVME : (_var($disk,'rotational',1)==0 && $display['max']>0 ? $display['max']+$display['ssd'] : $display['max'])); $warn = exceed($temp,$max,$top) ? 'alert' : (exceed($temp,$hot,$top) ? 'warning' : false); $item = 'temp'; $last = $saved[$item][$named] ?? 0; diff --git a/emhttp/plugins/dynamix/scripts/statuscheck b/emhttp/plugins/dynamix/scripts/statuscheck index b55ce79a1..9b2b3be54 100755 --- a/emhttp/plugins/dynamix/scripts/statuscheck +++ b/emhttp/plugins/dynamix/scripts/statuscheck @@ -95,8 +95,8 @@ function my_array(&$disk) { global $data,$display,$error0,$error1,$error2,$error3; $name = _var($disk,'name'); [$hotNVME,$maxNVME] = _var($disk,'transport')=='nvme' ? get_nvme_info(_var($disk,'device'),'temp') : [-1,-1]; - $hot = _var($disk,'hotTemp',-1)>=0 ? $disk['hotTemp'] : ($hotNVME>=0 ? $hotNVME : (_var($disk,'rotational',1)==0 && $display['hot']>0 ? $display['hot']+15 : $display['hot'])); - $max = _var($disk,'maxTemp',-1)>=0 ? $disk['maxTemp'] : ($maxNVME>=0 ? $maxNVME : (_var($disk,'rotational',1)==0 && $display['max']>0 ? $display['max']+15 : $display['max'])); + $hot = _var($disk,'hotTemp',-1)>=0 ? $disk['hotTemp'] : ($hotNVME>=0 ? $hotNVME : (_var($disk,'rotational',1)==0 && $display['hot']>0 ? $display['hot']+$display['ssd'] : $display['hot'])); + $max = _var($disk,'maxTemp',-1)>=0 ? $disk['maxTemp'] : ($maxNVME>=0 ? $maxNVME : (_var($disk,'rotational',1)==0 && $display['max']>0 ? $display['max']+$display['ssd'] : $display['max'])); if (strpos(_var($disk,'status'),'_NP')!==false) return false; $temp = _var($disk,'temp'); if ($max>0 && $temp>=$max) {