fix rename bug with passwort store
This commit is contained in:
parent
052c39ab88
commit
639a009fff
@ -423,7 +423,7 @@ sub Set($@) {
|
|||||||
return "please set Attribut gardenaAccountEmail first"
|
return "please set Attribut gardenaAccountEmail first"
|
||||||
if ( AttrVal( $name, 'gardenaAccountEmail', 'none' ) eq 'none' );
|
if ( AttrVal( $name, 'gardenaAccountEmail', 'none' ) eq 'none' );
|
||||||
return "please set gardenaAccountPassword first"
|
return "please set gardenaAccountPassword first"
|
||||||
if ( not defined( ReadPassword($hash) ) );
|
if ( not defined( ReadPassword($hash,$name) ) );
|
||||||
return "token is up to date"
|
return "token is up to date"
|
||||||
if ( defined( $hash->{helper}{session_id} ) );
|
if ( defined( $hash->{helper}{session_id} ) );
|
||||||
|
|
||||||
@ -436,7 +436,7 @@ sub Set($@) {
|
|||||||
return "usage: $cmd <password>" if ( @args != 1 );
|
return "usage: $cmd <password>" if ( @args != 1 );
|
||||||
|
|
||||||
my $passwd = join( ' ', @args );
|
my $passwd = join( ' ', @args );
|
||||||
StorePassword( $hash, $passwd );
|
StorePassword( $hash, $name, $passwd );
|
||||||
|
|
||||||
}
|
}
|
||||||
elsif ( lc $cmd eq 'deleteaccountpassword' ) {
|
elsif ( lc $cmd eq 'deleteaccountpassword' ) {
|
||||||
@ -448,11 +448,11 @@ sub Set($@) {
|
|||||||
else {
|
else {
|
||||||
|
|
||||||
my $list = "getDevicesState:noArg getToken:noArg"
|
my $list = "getDevicesState:noArg getToken:noArg"
|
||||||
if ( defined( ReadPassword($hash) ) );
|
if ( defined( ReadPassword($hash,$name) ) );
|
||||||
$list .= " gardenaAccountPassword"
|
$list .= " gardenaAccountPassword"
|
||||||
if ( not defined( ReadPassword($hash) ) );
|
if ( not defined( ReadPassword($hash,$name) ) );
|
||||||
$list .= " deleteAccountPassword:noArg"
|
$list .= " deleteAccountPassword:noArg"
|
||||||
if ( defined( ReadPassword($hash) ) );
|
if ( defined( ReadPassword($hash,$name) ) );
|
||||||
return "Unknown argument $cmd, choose one of $list";
|
return "Unknown argument $cmd, choose one of $list";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -950,7 +950,7 @@ sub getToken($) {
|
|||||||
if ( AttrVal( $name, 'gardenaAccountEmail', 'none' ) eq 'none' );
|
if ( AttrVal( $name, 'gardenaAccountEmail', 'none' ) eq 'none' );
|
||||||
return readingsSingleUpdate( $hash, 'state',
|
return readingsSingleUpdate( $hash, 'state',
|
||||||
'please set gardena account password first', 1 )
|
'please set gardena account password first', 1 )
|
||||||
if ( not defined( ReadPassword($hash) ) );
|
if ( not defined( ReadPassword($hash,$name) ) );
|
||||||
readingsSingleUpdate( $hash, 'state', 'get token', 1 );
|
readingsSingleUpdate( $hash, 'state', 'get token', 1 );
|
||||||
|
|
||||||
delete $hash->{helper}{session_id}
|
delete $hash->{helper}{session_id}
|
||||||
@ -967,7 +967,7 @@ sub getToken($) {
|
|||||||
'"sessions": {"email": "'
|
'"sessions": {"email": "'
|
||||||
. AttrVal( $name, 'gardenaAccountEmail', 'none' )
|
. AttrVal( $name, 'gardenaAccountEmail', 'none' )
|
||||||
. '","password": "'
|
. '","password": "'
|
||||||
. ReadPassword($hash) . '"}',
|
. ReadPassword($hash,$name) . '"}',
|
||||||
undef,
|
undef,
|
||||||
undef
|
undef
|
||||||
);
|
);
|
||||||
@ -976,10 +976,10 @@ sub getToken($) {
|
|||||||
"GardenaSmartBridge ($name) - send credentials to fetch Token and locationId";
|
"GardenaSmartBridge ($name) - send credentials to fetch Token and locationId";
|
||||||
}
|
}
|
||||||
|
|
||||||
sub StorePassword($$) {
|
sub StorePassword($@) {
|
||||||
|
|
||||||
my ( $hash, $password ) = @_;
|
my ( $hash, $name, $password ) = @_;
|
||||||
my $index = $hash->{TYPE} . "_" . $hash->{NAME} . "_passwd";
|
my $index = $hash->{TYPE} . "_" . $name . "_passwd";
|
||||||
my $key = getUniqueId() . $index;
|
my $key = getUniqueId() . $index;
|
||||||
my $enc_pwd = "";
|
my $enc_pwd = "";
|
||||||
|
|
||||||
@ -1002,11 +1002,10 @@ sub StorePassword($$) {
|
|||||||
return "password successfully saved";
|
return "password successfully saved";
|
||||||
}
|
}
|
||||||
|
|
||||||
sub ReadPassword($) {
|
sub ReadPassword($$) {
|
||||||
|
|
||||||
my ($hash) = @_;
|
my ( $hash, $name ) = @_;
|
||||||
my $name = $hash->{NAME};
|
my $index = $hash->{TYPE} . "_" . $name . "_passwd";
|
||||||
my $index = $hash->{TYPE} . "_" . $hash->{NAME} . "_passwd";
|
|
||||||
my $key = getUniqueId() . $index;
|
my $key = getUniqueId() . $index;
|
||||||
my ( $password, $err );
|
my ( $password, $err );
|
||||||
|
|
||||||
@ -1053,7 +1052,7 @@ sub Rename(@) {
|
|||||||
my ( $new, $old ) = @_;
|
my ( $new, $old ) = @_;
|
||||||
my $hash = $defs{$new};
|
my $hash = $defs{$new};
|
||||||
|
|
||||||
StorePassword( $hash, ReadPassword($hash) );
|
StorePassword( $hash, $new, ReadPassword($hash,$old) );
|
||||||
setKeyValue( $hash->{TYPE} . "_" . $old . "_passwd", undef );
|
setKeyValue( $hash->{TYPE} . "_" . $old . "_passwd", undef );
|
||||||
|
|
||||||
return undef;
|
return undef;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user