define check improved - homeID in define removed

This commit is contained in:
Philipp Wo 2025-04-07 09:24:50 +02:00
parent f0697c82f7
commit 265f0d4ffa

View File

@ -1,5 +1,5 @@
#===============================================================================
# $Id: 98_TadoAPI.pm 107 2025-03-10 06:15:20Z psycho160 $
# $Id: 98_TadoAPI.pm 107 2025-04-07 06:15:20Z psycho160 $
#
# FILE: 98_TadoAPI.pm
# - for oauth2 (2025)
@ -88,8 +88,7 @@ sub TadoAPI_Init {
my @args = split( "[ \t][ \t]*", $def );
my $u =
"wrong syntax: define <name> TadoAPI <device_code>";
my $u = "wrong syntax: define <name> TadoAPI <device_code>";
return $u if ( int(@args) < 2 );
return;
}
@ -103,18 +102,19 @@ sub TadoAPI_Define {
my $type = shift @a;
my $tokenFileName = $tokenFile . "_" . $name;
my ( $user, $homeID ) = @a;
my ( $dev_code ) = @a;
Log3 $name, 3, "TadoAPI_Define $name: called ";
defined $user ? ($hash->{STATE} = "defined") : ($hash->{DEF} = "no_device_code_set");
my $u = "wrong define syntax: define <name> TadoAPI";
return $u if ( int(@a) > 1 );
defined $dev_code ? ($hash->{STATE} = "defined") : ($hash->{DEF} = "no_device_code_set");
# Initialize the device
return $@ unless ( FHEM::Meta::SetInternals($hash) );
$hash->{TOKEN_FILE} = $tokenFileName;
$hash->{TADO_USER} = $user;
my @args = ($homeID);
$hash->{TADO_DEV_CODE} = $dev_code;
if ($main::init_done) {
@ -122,7 +122,7 @@ sub TadoAPI_Define {
return TadoAPI_Catch($@) if $@;
}
if ( defined($user) && $user ne "no_device_code_set" ) {
if ( defined($dev_code) && $dev_code ne "no_device_code_set" ) {
TadoAPI_CheckStatus($hash);
TadoAPI_NewTokenRequest($hash);
@ -130,15 +130,11 @@ sub TadoAPI_Define {
RemoveInternalTimer($hash);
InternalTimer( gettimeofday() + 15, "TadoAPI_Update", $hash, 0 );
if ( defined($homeID) && $homeID ne "" ) {
$attr{$name}{homeID} = $homeID;
}
else {
my $id = TadoAPI_GetHomeId($hash);
if ( defined($id) && $id ne "" ) {
$attr{$name}{homeID} = $id;
}
}
}
else {
$hash->{STATE} = "no_device_code_set";
@ -517,7 +513,7 @@ sub TadoAPI_RegisterNewDevice {
sub TadoAPI_NewTokenRequest {
my $hash = shift;
my $name = $hash->{NAME};
my $device_code = $hash->{TADO_USER};
my $device_code = $hash->{TADO_DEV_CODE};
my $tokenFileName = $tokenFile . "_" . $name;
my $Token = undef;