change if elsif else in Get Fn to given when

This commit is contained in:
Marko Oldenburg 2022-01-09 16:00:56 +01:00
parent 40305d563d
commit 55ce39b8d3
2 changed files with 21 additions and 45 deletions

View File

@ -1,2 +1,2 @@
UPD 2022-01-07_07:25:06 6874 FHEM/46_TeslaPowerwall2AC.pm UPD 2022-01-09_15:44:54 6874 FHEM/46_TeslaPowerwall2AC.pm
UPD 2022-01-07_08:33:19 27498 lib/FHEM/Devices/Tesla/Powerwall.pm UPD 2022-01-09_15:59:59 27461 lib/FHEM/Devices/Tesla/Powerwall.pm

View File

@ -56,6 +56,7 @@ package FHEM::Devices::Tesla::Powerwall;
use strict; use strict;
use warnings; use warnings;
use experimental qw( switch );
use HttpUtils; use HttpUtils;
use GPUtils qw(GP_Import); use GPUtils qw(GP_Import);
@ -285,52 +286,27 @@ sub Get {
my $cmd = shift @$aArg // return qq(get $name needs at least one argument); my $cmd = shift @$aArg // return qq(get $name needs at least one argument);
my $arg; my $arg;
if ( $cmd eq 'statusSOE' ) { $cmd = lc($cmd);
$arg = lc($cmd); given ($cmd) {
when ('statussoe') { $arg = $cmd; }
} when ('aggregates') { $arg = $cmd; }
elsif ( $cmd eq 'aggregates' ) { when ('siteinfo') { $arg = $cmd; }
when ('powerwalls') { $arg = $cmd; }
$arg = lc($cmd); when ('sitemaster') { $arg = $cmd; }
when ('registration') { $arg = $cmd; }
} when ('status') { $arg = $cmd; }
elsif ( $cmd eq 'siteinfo' ) { default {
my $list = '';
$arg = lc($cmd); $list .=
}
elsif ( $cmd eq 'powerwalls' ) {
$arg = lc($cmd);
}
elsif ( $cmd eq 'sitemaster' ) {
$arg = lc($cmd);
}
elsif ( $cmd eq 'registration' ) {
$arg = lc($cmd);
}
elsif ( $cmd eq 'status' ) {
$arg = lc($cmd);
}
else {
my $list = '';
$list .=
'statusSOE:noArg aggregates:noArg siteinfo:noArg sitemaster:noArg powerwalls:noArg registration:noArg status:noArg' 'statusSOE:noArg aggregates:noArg siteinfo:noArg sitemaster:noArg powerwalls:noArg registration:noArg status:noArg'
if ( ::AttrVal( $name, 'emailaddr', 'none' ) ne 'none' if ( ::AttrVal( $name, 'emailaddr', 'none' ) ne 'none'
&& exists( $hash->{helper}->{passObj} ) && exists( $hash->{helper}->{passObj} )
&& defined( $hash->{helper}->{passObj}->getReadPassword($name) ) && defined( $hash->{helper}->{passObj}->getReadPassword($name) )
&& defined( $hash->{TOKEN} ) ); && defined( $hash->{TOKEN} ) );
return 'Unknown argument ' . $cmd . ', choose one of ' . $list; return 'Unknown argument ' . $cmd . ', choose one of ' . $list;
}
} }
return 'There are still path commands in the action queue' return 'There are still path commands in the action queue'