* Mon Mar 03 2025 Brian Read <brianr@koozali.org> 11.0.0-7.sme
- Enhance UPS Status screen [SME: ]
This commit is contained in:
parent
6592179f55
commit
b8690bf214
@ -77,7 +77,7 @@ my $cdb = esmith::ConfigDB->open() || die("Couldn't open config db");
|
||||
#'Data1'=>'Data for STATUS', #Example
|
||||
# fields from Inputs in STATUS $fields['STATUS']
|
||||
'UPSStatus'=>$c->get_ups_status(),
|
||||
|
||||
'ups_data' => $c->get_ups_status_as_hash()
|
||||
);
|
||||
return %ret;
|
||||
}
|
||||
@ -239,6 +239,16 @@ sub get_ups_status {
|
||||
}
|
||||
}
|
||||
|
||||
sub get_ups_status_as_hash {
|
||||
$c = shift;
|
||||
$string = $c->get_ups_status();
|
||||
my %hash;
|
||||
while ($string =~ /^(.+?):\s*(.+)$/mg) {
|
||||
$hash{$1} = $2;
|
||||
}
|
||||
return \%hash
|
||||
}
|
||||
|
||||
sub get_status_from_device {
|
||||
my ($c,$device) = @_;
|
||||
my $command = '/usr/bin/upsc';
|
||||
|
@ -35,13 +35,17 @@
|
||||
<p class='paragraph para1'>
|
||||
%=l('nut_Descriptive_paragraph')
|
||||
</p>
|
||||
|
||||
|
||||
<!--
|
||||
<span class=label>
|
||||
%=l('nut_Status_(from_upsc)')
|
||||
</span><span class=data>
|
||||
% param 'UPSStatus' => $nut_data->{UPSStatus} unless param 'UPSStatus';
|
||||
%= text_area 'UPSStatus', cols=>55, rows=>35, Readonly=>'true'
|
||||
</span><br>
|
||||
-->
|
||||
|
||||
%= include 'partials/_nut_UPS_STATUS'
|
||||
|
||||
%# Probably finally by a submit.
|
||||
%end
|
||||
|
@ -1,6 +1,3 @@
|
||||
% layout 'default';
|
||||
% title 'UPS Status';
|
||||
|
||||
<h1>UPS Status</h1>
|
||||
%= stylesheet '/css/nut_ups-status-page.css'
|
||||
<div class="ups-status-page">
|
||||
@ -8,42 +5,42 @@
|
||||
<div class="card">
|
||||
<h2>Device Information</h2>
|
||||
<table>
|
||||
<tr><td>Manufacturer:</td><td><%= $ups_data->{'device.mfr'} %></td></tr>
|
||||
<tr><td>Model:</td><td><%= $ups_data->{'device.model'} %></td></tr>
|
||||
<tr><td>Serial:</td><td><%= $ups_data->{'device.serial'} %></td></tr>
|
||||
<tr><td>Type:</td><td><%= $ups_data->{'device.type'} %></td></tr>
|
||||
<tr><td>Manufacturer:</td><td><%= $nut_data->{'ups_data'}->{'device.mfr'} %></td></tr>
|
||||
<tr><td>Model:</td><td><%= $nut_data->{'ups_data'}->{'device.model'} %></td></tr>
|
||||
<tr><td>Serial:</td><td><%= $nut_data->{'ups_data'}->{'device.serial'} %></td></tr>
|
||||
<tr><td>Type:</td><td><%= $nut_data->{'ups_data'}->{'device.type'} %></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<h2>Battery Status</h2>
|
||||
<table>
|
||||
<tr><td>Charge:</td><td><%= $ups_data->{'battery.charge'} %>%</td></tr>
|
||||
<tr><td>Runtime:</td><td><%= sprintf("%.2f", $ups_data->{'battery.runtime'} / 60) %> minutes</td></tr>
|
||||
<tr><td>Voltage:</td><td><%= $ups_data->{'battery.voltage'} %>V</td></tr>
|
||||
<tr><td>Type:</td><td><%= $ups_data->{'battery.type'} %></td></tr>
|
||||
<tr><td>Charge:</td><td><%= $nut_data->{'ups_data'}->{'battery.charge'} %>%</td></tr>
|
||||
<tr><td>Runtime:</td><td><%= sprintf("%.2f", $nut_data->{'ups_data'}->{'battery.runtime'} / 60) %> minutes</td></tr>
|
||||
<tr><td>Voltage:</td><td><%= $nut_data->{'ups_data'}->{'battery.voltage'} %>V</td></tr>
|
||||
<tr><td>Type:</td><td><%= $nut_data->{'ups_data'}->{'battery.type'} %></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<h2>Input Power</h2>
|
||||
<table>
|
||||
<tr><td>Voltage:</td><td><%= $ups_data->{'input.voltage'} %>V</td></tr>
|
||||
<tr><td>Nominal Voltage:</td><td><%= $ups_data->{'input.voltage.nominal'} %>V</td></tr>
|
||||
<tr><td>Sensitivity:</td><td><%= $ups_data->{'input.sensitivity'} %></td></tr>
|
||||
<tr><td>Transfer High:</td><td><%= $ups_data->{'input.transfer.high'} %>V</td></tr>
|
||||
<tr><td>Transfer Low:</td><td><%= $ups_data->{'input.transfer.low'} %>V</td></tr>
|
||||
<tr><td>Voltage:</td><td><%= $nut_data->{'ups_data'}->{'input.voltage'} %>V</td></tr>
|
||||
<tr><td>Nominal Voltage:</td><td><%= $nut_data->{'ups_data'}->{'input.voltage.nominal'} %>V</td></tr>
|
||||
<tr><td>Sensitivity:</td><td><%= $nut_data->{'ups_data'}->{'input.sensitivity'} %></td></tr>
|
||||
<tr><td>Transfer High:</td><td><%= $nut_data->{'ups_data'}->{'input.transfer.high'} %>V</td></tr>
|
||||
<tr><td>Transfer Low:</td><td><%= $nut_data->{'ups_data'}->{'input.transfer.low'} %>V</td></tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<h2>UPS Status</h2>
|
||||
<table>
|
||||
<tr><td>Status:</td><td><%= $ups_data->{'ups.status'} %></td></tr>
|
||||
<tr><td>Load:</td><td><%= $ups_data->{'ups.load'} %>%</td></tr>
|
||||
<tr><td>Beeper:</td><td><%= $ups_data->{'ups.beeper.status'} %></td></tr>
|
||||
<tr><td>Firmware:</td><td><%= $ups_data->{'ups.firmware'} %></td></tr>
|
||||
<tr><td>Test Result:</td><td><%= $ups_data->{'ups.test.result'} %></td></tr>
|
||||
<tr><td>Status:</td><td><%= $nut_data->{'ups_data'}->{'ups.status'} %></td></tr>
|
||||
<tr><td>Load:</td><td><%= $nut_data->{'ups_data'}->{'ups.load'} %>%</td></tr>
|
||||
<tr><td>Beeper:</td><td><%= $nut_data->{'ups_data'}->{'ups.beeper.status'} %></td></tr>
|
||||
<tr><td>Firmware:</td><td><%= $nut_data->{'ups_data'}->{'ups.firmware'} %></td></tr>
|
||||
<tr><td>Test Result:</td><td><%= $nut_data->{'ups_data'}->{'ups.test.result'} %></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -4,7 +4,7 @@ Summary: SME server - nut UPS interaction module
|
||||
%define name smeserver-nutUPS
|
||||
Name: %{name}
|
||||
%define version 11.0.0
|
||||
%define release 6
|
||||
%define release 7
|
||||
Version: %{version}
|
||||
Release: %{release}%{?dist}
|
||||
License: GPL
|
||||
@ -25,6 +25,9 @@ A module which configures the Network UPS Tools suite for operation with
|
||||
the SME server software.
|
||||
|
||||
%changelog
|
||||
* Mon Mar 03 2025 Brian Read <brianr@koozali.org> 11.0.0-7.sme
|
||||
- Enhance UPS Status screen [SME: ]
|
||||
|
||||
* Mon Mar 03 2025 Brian Read <brianr@koozali.org> 11.0.0-6.sme
|
||||
- Add in SM2 NutUPS configuration and status panel [SME: 12949]
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user