Refactor command handler return logic for clarity #40

Merged
marko merged 1 commits from patch-new-sub-with-return into testing 2025-10-16 17:51:24 +00:00
2 changed files with 16 additions and 10 deletions
Showing only changes of commit 728319d81e - Show all commits

View File

@@ -1,4 +1,4 @@
UPD 2025-10-16_18:36:43 10358 FHEM/73_NUKIBridge.pm UPD 2025-10-16_18:43:02 10358 FHEM/73_NUKIBridge.pm
UPD 2025-10-15_06:55:14 11100 FHEM/74_NUKIDevice.pm UPD 2025-10-15_06:55:14 11100 FHEM/74_NUKIDevice.pm
UPD 2025-10-16_18:34:25 42928 lib/FHEM/Devices/Nuki/Bridge.pm UPD 2025-10-16_19:50:02 43040 lib/FHEM/Devices/Nuki/Bridge.pm
UPD 2025-10-15_06:55:14 16775 lib/FHEM/Devices/Nuki/Device.pm UPD 2025-10-15_06:55:14 16775 lib/FHEM/Devices/Nuki/Device.pm

View File

@@ -429,49 +429,55 @@ sub Set {
getdevicelist => sub { getdevicelist => sub {
return 'usage: getDeviceList' if $arg; return 'usage: getDeviceList' if $arg;
$endpoint = 'list'; $endpoint = 'list';
return;
}, },
info => sub { info => sub {
return 'usage: info' if $arg; return 'usage: info' if $arg;
$endpoint = 'info'; $endpoint = 'info';
return;
}, },
fwupdate => sub { fwupdate => sub {
return 'usage: fwUpdate' if $arg; return 'usage: fwUpdate' if $arg;
$endpoint = 'fwupdate'; $endpoint = 'fwupdate';
return;
}, },
reboot => sub { reboot => sub {
return 'usage: reboot' if $arg; return 'usage: reboot' if $arg;
$endpoint = 'reboot'; $endpoint = 'reboot';
return;
}, },
clearlog => sub { clearlog => sub {
return 'usage: clearLog' if $arg; return 'usage: clearLog' if $arg;
$endpoint = 'clearlog'; $endpoint = 'clearlog';
return;
}, },
factoryreset => sub { factoryreset => sub {
return 'usage: factoryReset' if $arg; return 'usage: factoryReset' if $arg;
$endpoint = 'factoryreset'; $endpoint = 'factoryreset';
return;
}, },
callbackremove => sub { callbackremove => sub {
return 'usage: callbackRemove' return 'usage: callbackRemove'
if ( split( m{\s+}xms, $arg ) > 1 ); if ( split( m{\s+}xms, $arg ) > 1 );
my $id = defined $arg ? $arg : 0; my $id = defined $arg ? $arg : 0;
$param = '{"param":"' . $id . '"}';
$endpoint = 'callback/remove'; $endpoint = 'callback/remove';
$param = '{"param":"' . $id . '"}';
return;
}, },
configauth => sub { configauth => sub {
return 'usage: configAuth' return 'usage: configAuth'
if ( split( m{\s+}xms, $arg ) > 1 ); if ( split( m{\s+}xms, $arg ) > 1 );
my $configAuth = 'enable=' . ( $arg eq 'enable' ? 1 : 0 ); my $configAuth = 'enable=' . ( $arg eq 'enable' ? 1 : 0 );
$param = '{"param":"' . $configAuth . '"}';
$endpoint = 'configAuth'; $endpoint = 'configAuth';
$param = '{"param":"' . $configAuth . '"}';
return;
}, },
); );
if ( exists $handlers{$cmd} ) { if ( exists $handlers{$cmd} ) {
my $result = $handlers{$cmd}->(); my $result = $handlers{$cmd}->();
return $result return $result
if defined $result if defined $result && length $result;
&& length $result
&& $result ne $endpoint;
} }
else { else {
my $list = 'info:noArg getDeviceList:noArg '; my $list = 'info:noArg getDeviceList:noArg ';
@@ -501,19 +507,19 @@ sub Get {
logfile => sub { logfile => sub {
return 'usage: logFile' if defined $arg; return 'usage: logFile' if defined $arg;
$endpoint = 'log'; $endpoint = 'log';
return;
}, },
callbacklist => sub { callbacklist => sub {
return 'usage: callbackList' if defined $arg; return 'usage: callbackList' if defined $arg;
$endpoint = 'callback/list'; $endpoint = 'callback/list';
return;
}, },
); );
if ( exists $handlers{$cmd} ) { if ( exists $handlers{$cmd} ) {
my $result = $handlers{$cmd}->(); my $result = $handlers{$cmd}->();
return $result return $result
if defined $result if defined $result && length $result;
&& length $result
&& $result ne $endpoint;
} }
else { else {
my $list = 'callbackList:noArg '; my $list = 'callbackList:noArg ';