Add automatics NVME temperature thresholds

This commit is contained in:
bergware
2023-11-30 17:44:02 +01:00
parent e0eae08fa1
commit 74a92996e4
4 changed files with 17 additions and 17 deletions
+4 -4
View File
@@ -58,10 +58,10 @@ case "attributes":
$level = get_value($disk,'smLevel',1);
$events = explode('|',get_value($disk,'smEvents',$numbers));
extract(parse_plugin_cfg('dynamix',true));
$nvme = _var($disk,'transport')=='nvme' ? get_nvme_powerstate(_var($disk,'device'))['cctemp'] : 0;
$max = _var($disk,'maxTemp',-1)>=0 ? $disk['maxTemp'] : ($nvme > 0 ? $nvme : (_var($display,'max',-1)>=0 ? $display['max'] : 0));
$nvme = _var($disk,'transport')=='nvme' ? get_nvme_powerstate(_var($disk,'device'))['wctemp'] : 0;
$hot = _var($disk,'hotTemp',-1)>=0 ? $disk['hotTemp'] : ($nvme > 0 ? $nvme : (_var($display,'hot',-1)>=0 ? $display['hot'] : 0));
$nvme = _var($disk,'transport')=='nvme' ? get_nvme_powerstate(_var($disk,'device'))['cctemp'] : -1;
$max = _var($disk,'maxTemp',-1)>=0 ? $disk['maxTemp'] : ($nvme => 0 ? $nvme : (_var($display,'max',-1)>=0 ? $display['max'] : 0));
$nvme = _var($disk,'transport')=='nvme' ? get_nvme_powerstate(_var($disk,'device'))['wctemp'] : -1;
$hot = _var($disk,'hotTemp',-1)>=0 ? $disk['hotTemp'] : ($nvme => 0 ? $nvme : (_var($display,'hot',-1)>=0 ? $display['hot'] : 0));
$top = $_POST['top'] ?? 120;
$empty = true;
exec("smartctl -n standby -A $type ".escapeshellarg("/dev/$port"),$output);
+5 -5
View File
@@ -159,11 +159,11 @@ function device_temp(&$disk, &$red, &$orange) {
global $display;
$spin = strpos(_var($disk,'color'),'blink')===false;
$temp = _var($disk,'temp','*');
$nvme = _var($disk,'transport')=='nvme' ? get_nvme_powerstate(_var($disk,'device'))['cctemp'] : 0;
$max = _var($disk,'maxTemp',-1)>=0 ? $disk['maxTemp'] : ($nvme > 0 ? $nvme : (_var($display,'max',-1)>=0 ? $display['max'] : 0));
$nvme = _var($disk,'transport')=='nvme' ? get_nvme_powerstate(_var($disk,'device'))['wctemp'] : 0;
$hot = _var($disk,'hotTemp',-1)>=0 ? $disk['hotTemp'] : ($nvme > 0 ? $nvme : (_var($display,'hot',-1)>=0 ? $display['hot'] : 0));
$top = $display['top'] ?? 120;
$nvme = _var($disk,'transport')=='nvme' ? get_nvme_powerstate(_var($disk,'device'))['cctemp'] : -1;
$max = _var($disk,'maxTemp',-1)>=0 ? $disk['maxTemp'] : ($nvme => 0 ? $nvme : (_var($display,'max',-1)>=0 ? $display['max'] : 0));
$nvme = _var($disk,'transport')=='nvme' ? get_nvme_powerstate(_var($disk,'device'))['wctemp'] : -1;
$hot = _var($disk,'hotTemp',-1)>=0 ? $disk['hotTemp'] : ($nvme => 0 ? $nvme : (_var($display,'hot',-1)>=0 ? $display['hot'] : 0));
$top = $display['top'] ?? 120;
$heat = false; $color = 'green';
if (exceed($temp,$max,$top)) {
$heat = 'fire'; $color = 'red'; $red++;
+4 -4
View File
@@ -47,10 +47,10 @@ function check_temp(&$disk,$text,$info) {
$name = _var($disk,'name');
$named = no_tilde($name);
$temp = _var($disk,'temp','*');
$nvme = _var($disk,'transport')=='nvme' ? get_nvme_powerstate(_var($disk,'device'))['cctemp'] : 0;
$max = _var($disk,'maxTemp',-1)>=0 ? $disk['maxTemp'] : ($nvme > 0 ? $nvme : (_var($display,'max',-1)>=0 ? $display['max'] : 0));
$nvme = _var($disk,'transport')=='nvme' ? get_nvme_powerstate(_var($disk,'device'))['wctemp'] : 0;
$hot = _var($disk,'hotTemp',-1)>=0 ? $disk['hotTemp'] : ($nvme > 0 ? $nvme : (_var($display,'hot',-1)>=0 ? $display['hot'] : 0));
$nvme = _var($disk,'transport')=='nvme' ? get_nvme_powerstate(_var($disk,'device'))['cctemp'] : -1;
$max = _var($disk,'maxTemp',-1)>=0 ? $disk['maxTemp'] : ($nvme => 0 ? $nvme : (_var($display,'max',-1)>=0 ? $display['max'] : 0));
$nvme = _var($disk,'transport')=='nvme' ? get_nvme_powerstate(_var($disk,'device'))['wctemp'] : -1;
$hot = _var($disk,'hotTemp',-1)>=0 ? $disk['hotTemp'] : ($nvme => 0 ? $nvme : (_var($display,'hot',-1)>=0 ? $display['hot'] : 0));
$warn = exceed($temp,$max,$top) ? 'alert' : (exceed($temp,$hot,$top) ? 'warning' : false);
$item = 'temp';
$last = $saved[$item][$named] ?? 0;
+4 -4
View File
@@ -94,10 +94,10 @@ function my_clock($time) {
function my_array(&$disk) {
global $data,$display,$error0,$error1,$error2,$error3;
$name = _var($disk,'name');
$nvme = _var($disk,'transport')=='nvme' ? get_nvme_powerstate(_var($disk,'device'))['cctemp'] : 0;
$max = _var($disk,'maxTemp',-1)>=0 ? $disk['maxTemp'] : ($nvme > 0 ? $nvme : (_var($display,'max',-1)>=0 ? $display['max'] : 0));
$nvme = _var($disk,'transport')=='nvme' ? get_nvme_powerstate(_var($disk,'device'))['wctemp'] : 0;
$hot = _var($disk,'hotTemp',-1)>=0 ? $disk['hotTemp'] : ($nvme > 0 ? $nvme : (_var($display,'hot',-1)>=0 ? $display['hot'] : 0));
$nvme = _var($disk,'transport')=='nvme' ? get_nvme_powerstate(_var($disk,'device'))['cctemp'] : -1;
$max = _var($disk,'maxTemp',-1)>=0 ? $disk['maxTemp'] : ($nvme => 0 ? $nvme : (_var($display,'max',-1)>=0 ? $display['max'] : 0));
$nvme = _var($disk,'transport')=='nvme' ? get_nvme_powerstate(_var($disk,'device'))['wctemp'] : -1;
$hot = _var($disk,'hotTemp',-1)>=0 ? $disk['hotTemp'] : ($nvme => 0 ? $nvme : (_var($display,'hot',-1)>=0 ? $display['hot'] : 0));
if (strpos(_var($disk,'status'),'_NP')!==false) return false;
$temp = _var($disk,'temp');
if ($max>0 && $temp>=$max) {