mirror of
https://github.com/unraid/webgui.git
synced 2026-01-07 10:10:05 -06:00
Dashboard UPS: use json fomatting
This commit is contained in:
@@ -1615,17 +1615,17 @@ dashboard.on('message',function(msg,meta) {
|
||||
});
|
||||
<?if ($apcupsd):?>
|
||||
var apcups = new NchanSubscriber('/sub/apcups',{subscriber:'websocket'});
|
||||
apcups.on('message',function(data) {
|
||||
data = data.split(';');
|
||||
$('#ups_model').html(data[0]);
|
||||
$('#ups_status').html(data[1]);
|
||||
$('#ups_status_').html(data[1]);
|
||||
$('#ups_bcharge').html(data[2]);
|
||||
$('#ups_timeleft').html(data[3]);
|
||||
$('#ups_nompower').html(data[4]);
|
||||
$('#ups_loadpct').html(data[5]);
|
||||
$('#ups_loadpct_').html(data[5]);
|
||||
$('#ups_outputv').html(data[6]);
|
||||
apcups.on('message',function(msg) {
|
||||
var get = JSON.parse(msg);
|
||||
$('#ups_model').html(get[0]);
|
||||
$('#ups_status').html(get[1]);
|
||||
$('#ups_status_').html(get[1]);
|
||||
$('#ups_bcharge').html(get[2]);
|
||||
$('#ups_timeleft').html(get[3]);
|
||||
$('#ups_nompower').html(get[4]);
|
||||
$('#ups_loadpct').html(get[5]);
|
||||
$('#ups_loadpct_').html(get[5]);
|
||||
$('#ups_outputv').html(get[6]);
|
||||
});
|
||||
<?endif;?>
|
||||
|
||||
|
||||
@@ -68,8 +68,8 @@ while (true) {
|
||||
$locale_init = _var($display,'locale');
|
||||
update_translation($locale_init);
|
||||
}
|
||||
unset($status,$rows,$power,$load,$freq,$output,$volt);
|
||||
$status = array_fill(0,7,"<span>-</span>");
|
||||
unset($echo,$rows,$power,$load,$freq,$output,$volt);
|
||||
$echo = array_fill(0,7,"<span>-</span>");
|
||||
if (file_exists("/var/run/apcupsd.pid")) {
|
||||
// get battery-level and runtime settings
|
||||
$cfg = parse_plugin_cfg('dynamix.apcupsd');
|
||||
@@ -80,32 +80,32 @@ while (true) {
|
||||
[$key, $val] = array_map('trim', explode(':', $row, 2));
|
||||
switch ($key) {
|
||||
case 'MODEL':
|
||||
$status[0] = $val;
|
||||
$echo[0] = $val;
|
||||
break;
|
||||
case 'STATUS':
|
||||
$text = strtr($val, $state);
|
||||
$status[1] = $val ? (strpos($val,'ONLINE')!==false ? "<span $green>$text</span>" : "<span $red>$text</span>") : "<span $orange>"._('Refreshing')."...</span>";
|
||||
$echo[1] = $val ? (strpos($val,'ONLINE')!==false ? "<span $green>$text</span>" : "<span $red>$text</span>") : "<span $orange>"._('Refreshing')."...</span>";
|
||||
break;
|
||||
case 'BCHARGE':
|
||||
$charge = round($val);
|
||||
$status[2] = $charge>$level ? "<span $green>$charge %</span>" : "<span $red>$charge %</span>";
|
||||
$echo[2] = $charge>$level ? "<span $green>$charge %</span>" : "<span $red>$charge %</span>";
|
||||
break;
|
||||
case 'TIMELEFT':
|
||||
$time = round($val);
|
||||
$unit = _('minutes');
|
||||
$status[3] = $time>$runtime ? "<span $green>$time $unit</span>" : "<span $red>$time $unit</span>";
|
||||
$echo[3] = $time>$runtime ? "<span $green>$time $unit</span>" : "<span $red>$time $unit</span>";
|
||||
break;
|
||||
case 'NOMPOWER':
|
||||
$power = $val;
|
||||
$status[4] = $power>0 ? "<span $green>$power W</span>" : "<span $red>$power W</span>";
|
||||
$echo[4] = $power>0 ? "<span $green>$power W</span>" : "<span $red>$power W</span>";
|
||||
break;
|
||||
case 'LOADPCT':
|
||||
$load = $val;
|
||||
$status[5] = round($load)." %";
|
||||
$echo[5] = round($load)." %";
|
||||
break;
|
||||
case 'OUTPUTV':
|
||||
$output = round($val);
|
||||
$status[6] = "$output V";
|
||||
$echo[6] = "$output V";
|
||||
break;
|
||||
case 'NOMINV':
|
||||
$volt = $val;
|
||||
@@ -117,11 +117,11 @@ while (true) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (isset($power) && isset($load)) $status[5] = ($load<90 ? "<span $green>" : "<span $red>").round($power*$load/100)." W (".$status[5].")</span>";
|
||||
elseif (isset($load)) $status[5] = ($load<90 ? "<span>" : "<span $red>").$status[5]."</span>";
|
||||
$status[6] = isset($output) ? ((!$volt || ($minv<$output && $output<$maxv) ? "<span $green>" : "<span $red>").$status[6].(isset($freq) ? " ~ $freq Hz" : "")."</span>") : $status[6];
|
||||
if (isset($power) && isset($load)) $echo[5] = ($load<90 ? "<span $green>" : "<span $red>").round($power*$load/100)." W (".$echo[5].")</span>";
|
||||
elseif (isset($load)) $echo[5] = ($load<90 ? "<span>" : "<span $red>").$echo[5]."</span>";
|
||||
$echo[6] = isset($output) ? ((empty($volt) || ($minv<$output && $output<$maxv) ? "<span $green>" : "<span $red>").$echo[6].(isset($freq) ? " ~ $freq Hz" : "")."</span>") : $echo[6];
|
||||
}
|
||||
$echo = implode(';', $status);
|
||||
$echo = json_encode($echo);
|
||||
$md5_new = md5($echo,true);
|
||||
if ($md5_new !== $md5_old) {
|
||||
publish('apcups', $echo);
|
||||
|
||||
Reference in New Issue
Block a user