Compare commits

...

3 Commits
2.1 ... master

Author SHA1 Message Date
be340b36d4 README.md aktualisiert
doku for define updated
2025-04-07 07:29:18 +00:00
265f0d4ffa define check improved - homeID in define removed 2025-04-07 09:25:31 +02:00
f0697c82f7 README.md aktualisiert
homeID beim define nicht mehr benötigt / verwendet -> entfernt
2025-04-07 07:04:55 +00:00
2 changed files with 19 additions and 23 deletions

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

View File

@ -40,13 +40,10 @@ 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: In FHEM wird das Modul mit folgenden Schritten definiert:
Wenn man noch keinen `device_code` hat Wenn man noch keinen `device_code` hat (Standard)
* `define <name> TadoAPI` * `define <name> TadoAPI`
sonst kann man ihn gleich mitgeben mit:
`define <name> TadoAPI [<device_code>] [<homeID>]`
### Wichtig: Device einrichten ### Wichtig: Device einrichten
@ -57,6 +54,9 @@ Danach muss man das FHEM Device bei tado registrieren. ->
* `device_code` beim DEF in FHEM einfügen * `device_code` beim DEF in FHEM einfügen
* Fertig * 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" /> <img src="https://git.wolfmajer.at/Public/FHEM-Tado/raw/branch/master/doc/define.png" width="500" />