diff --git a/root/etc/e-smith/templates/etc/ups/nut.conf/10MODE b/root/etc/e-smith/templates/etc/ups/nut.conf/10MODE index 6885bf0..3393ca3 100644 --- a/root/etc/e-smith/templates/etc/ups/nut.conf/10MODE +++ b/root/etc/e-smith/templates/etc/ups/nut.conf/10MODE @@ -3,5 +3,5 @@ MODE={ return "none" unless ( ($nut{"status"}||"disabled") eq "enabled"); # if Master no => netclient # if Master yes => standalone or netserver - $nut{mode} || "standalone"; + $nut{Mode} || "standalone"; } diff --git a/root/etc/e-smith/templates/etc/ups/ups.conf/UPS b/root/etc/e-smith/templates/etc/ups/ups.conf/UPS index 62f26da..1281da3 100644 --- a/root/etc/e-smith/templates/etc/ups/ups.conf/UPS +++ b/root/etc/e-smith/templates/etc/ups/ups.conf/UPS @@ -7,15 +7,14 @@ my @upses = grep(/^nut-driver\@[a-zA-Z0-9_-]+$/, $DB->keys); foreach my $ups ( sort {$a cmp $b} @upses ) { - my $nnut = ${$ups}; - my $status = $nnut{status} || "disabled"; + my $status = ${"$ups"}{status} || "disabled"; next if $status eq "disabled"; my ($name )= $ups =~ /^nut-driver\@(.*)$/ ; - my $model = $nnut{Model} || "usbhid-ups"; - my $device = $nnut{Device} || "auto"; #"/var/lib/ups/hiddev0"; - my $type = $nnut{Type}; - my $mfr = $nnut{mfr}; - my $mdl = $nnut{mdl}; + my $model = ${"$ups"}{Model} || "usbhid-ups"; + my $device = ${"$ups"}{Device} || "auto"; #"/var/lib/ups/hiddev0"; + my $type = ${"$ups"}{Type}; + my $mfr = ${"$ups"}{mfr}; + my $mdl = ${"$ups"}{mdl}; $OUT .= "[$name]\n"; $OUT .= "\tdriver = $model\n"; if ($model eq 'genericups') diff --git a/root/usr/share/smanager/lib/SrvMngr/Controller/Nutups-Custom.pm b/root/usr/share/smanager/lib/SrvMngr/Controller/Nutups-Custom.pm index 99bb223..028ef22 100644 --- a/root/usr/share/smanager/lib/SrvMngr/Controller/Nutups-Custom.pm +++ b/root/usr/share/smanager/lib/SrvMngr/Controller/Nutups-Custom.pm @@ -253,7 +253,10 @@ sub get_ups_status { } elsif ($nutmode eq 'netclient'){ return $c->get_status_from_device($cdb->get_prop('nut','ClientUPS')); } else { - return $c->get_status_from_device($cdb->get_prop('nut','MasterUPS')); + # TODO: could enumerate all the upses using + # my @upses = grep(/^nut-driver\@[a-zA-Z0-9_-]+$/, $DB->keys); + # we will only use the default first one for the moment nut-driver@ups for ups named "ups" + return $c->get_status_from_device("ups"); } } diff --git a/smeserver-nutUPS.spec b/smeserver-nutUPS.spec index 4abb613..2adcfe8 100644 --- a/smeserver-nutUPS.spec +++ b/smeserver-nutUPS.spec @@ -4,7 +4,7 @@ Summary: SME server - nut UPS interaction module %define name smeserver-nutUPS Name: %{name} %define version 11.0.0 -%define release 10 +%define release 11 Version: %{version} Release: %{release}%{?dist} License: GPL @@ -26,6 +26,9 @@ A module which configures the Network UPS Tools suite for operation with the SME server software. %changelog +* Sat May 24 2025 Jean-Philippe Pialasse 11.0.0-11.sme +- fix issue with standalone and netserver mode [SME: 13012] + * Sun May 18 2025 Jean-Philippe Pialasse 11.0.0-10.sme - add pollinterval setting [SME: 13006] - update config for Nut 2.8.2 [SME: 12657]