support for multiple mobile IDs

This commit is contained in:
Philipp Wo 2019-11-22 21:02:03 +01:00
parent d7d6fc4000
commit a90835fae2
1 changed files with 19 additions and 21 deletions

View File

@ -763,7 +763,6 @@ sub TadoAPI_UpdateAllZoneReadingsCallback($){
readingsBulkUpdate($hash, "Battery_" . $device->{'serialNo'}, $device->{'batteryState'});
readingsEndUpdate( $hash, 1 );
$hash->{LastRequest}="OK";
print "fffffffffffffffffffffffffffffffffffffffffffffffffff";
}
}
@ -952,28 +951,29 @@ sub TadoAPI_GetZoneInfo(@) {
HttpUtils_NonblockingGet($request);
my @mobDev = TadoAPI_GetMobileDevices($hash);
for (my $i=0; $i < @mobDev; $i++) {
my $mobileID = $mobDev[$i]->{'id'};
$URL=$QueryURL.qq{/$homeID/mobileDevices/$mobileID/settings};
$request = {
url => $URL,
header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}" },
method => 'GET',
timeout => 3,
infotext => "Mobile Device $mobileID",
hash => $hash,
callback => \&TadoAPI_LogInfoCallback
};
# todo remove static mobile id
my $mobileID = $attr{$name}{mobileID};
$URL=$QueryURL.qq{/$homeID/mobileDevices/$mobileID/settings};
$request = {
url => $URL,
header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}" },
method => 'GET',
timeout => 3,
infotext => "Mobile Device $mobileID",
hash => $hash,
callback => \&TadoAPI_LogInfoCallback
};
HttpUtils_NonblockingGet($request);
HttpUtils_NonblockingGet($request);
}
# zones
my @zoneArr = TadoAPI_RequestTadoDevices($hash);
for (my $i=0; $i < @zoneArr; $i++) {
my $zoneid = $zoneArr[$i]->{'id'};
my $URL=$QueryURL.qq{/$homeID/zones/$zoneid/state};
my $infotext = "ZoneID $zoneid (" . TadoAPI_GetZoneNameById($hash, $zoneid) . ") Status:";
my $infotext = "ZoneID $zoneid (" . TadoAPI_GetZoneNameById($hash, $zoneid) . ") Status";
my $request = {
url => $URL,
header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}" },
@ -990,13 +990,11 @@ sub TadoAPI_GetZoneInfo(@) {
return undef;
}
sub TadoAPI_SetGeoById(@){
my ($hash, $mobID, $geo) = @_;
my ($hash, $mobileID, $geo) = @_;
my $name = $hash->{NAME};
my $homeID = $attr{$name}{homeID};
my $URL=$QueryURL.qq{/$homeID/mobileDevices/$mobID/settings};
my $URL=$QueryURL.qq{/$homeID/mobileDevices/$mobileID/settings};
my $TokenData = TadoAPI_LoadToken($hash);
if(defined($TokenData)){
@ -1013,7 +1011,7 @@ sub TadoAPI_SetGeoById(@){
header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}" },
method => 'PUT',
timeout => 3,
mobileID => $mobID,
mobileID => $mobileID,
data => $data,
hash => $hash,
callback => \&TadoAPI_SetGeoByIdCallback