Compare commits

..

No commits in common. "master" and "2.1" have entirely different histories.
master ... 2.1

2 changed files with 23 additions and 19 deletions

View File

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

View File

@ -40,10 +40,13 @@ Für Fragen / Anliegen bin ich im FHEM-Forum (https://forum.fhem.de/index.php/to
In FHEM wird das Modul mit folgenden Schritten definiert:
Wenn man noch keinen `device_code` hat (Standard)
Wenn man noch keinen `device_code` hat
* `define <name> TadoAPI`
sonst kann man ihn gleich mitgeben mit:
`define <name> TadoAPI [<device_code>] [<homeID>]`
### Wichtig: Device einrichten
@ -54,9 +57,6 @@ Danach muss man das FHEM Device bei tado registrieren. ->
* `device_code` beim DEF in FHEM einfügen
* Fertig
Optional: Wenn man schon einen Device Code hat, kann man ihn gleich mitgeben mit:
`define <name> TadoAPI <device_code>`
<img src="https://git.wolfmajer.at/Public/FHEM-Tado/raw/branch/master/doc/define.png" width="500" />