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