all subs use now correct zoneID
This commit is contained in:
parent
f862149027
commit
c802b3f655
116
98_TadoAPI.pm
116
98_TadoAPI.pm
|
@ -288,7 +288,7 @@ sub TadoAPI_Get(@) {
|
|||
$message .= "ZoneID: " . ($devArr[$i]->{'id'});
|
||||
my $spacer = 0;
|
||||
foreach my $item ( @$tadodevices ){
|
||||
$message .= "\t" if ($spacer > 0);
|
||||
$message .= "\t " if ($spacer > 0);
|
||||
$message .= " " . $item->{'serialNo'} . " Battery: " . $item->{'batteryState'} . "\n";
|
||||
$devicecount++;
|
||||
$spacer++;
|
||||
|
@ -604,13 +604,15 @@ sub TadoAPI_SetAllOverlays(@){
|
|||
my $TokenData = TadoAPI_LoadToken($hash);
|
||||
|
||||
if(defined($TokenData)){
|
||||
my $zonecount = TadoAPI_ZoneRequest($hash);
|
||||
my $message = "";
|
||||
my $method = "";
|
||||
my $myjson ="";
|
||||
|
||||
for (my $i=1; $i <= $zonecount; $i++) {
|
||||
TadoAPI_SetZoneOverlayById($hash, $i, $setting);
|
||||
my @zoneArr = TadoAPI_RequestTadoDevices($hash);
|
||||
|
||||
for (my $i=0; $i < @zoneArr; $i++) {
|
||||
my $zoneid = $zoneArr[$i]->{'id'};
|
||||
TadoAPI_SetZoneOverlayById($hash, $zoneid, $setting);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -969,18 +971,20 @@ sub TadoAPI_GetZoneInfo(@) {
|
|||
HttpUtils_NonblockingGet($request);
|
||||
|
||||
# zones
|
||||
for (my $i=1; $i <= TadoAPI_GetZoneCount($hash); $i++) {
|
||||
$URL=$QueryURL.qq{/$homeID/zones/$i/state};
|
||||
my $infotext = "ZoneID $i (" . TadoAPI_GetZoneNameById($hash, $i) . ") Status:";
|
||||
my $request = {
|
||||
url => $URL,
|
||||
header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}" },
|
||||
method => 'GET',
|
||||
timeout => 3,
|
||||
infotext => $infotext,
|
||||
hash => $hash,
|
||||
callback => \&TadoAPI_LogInfoCallback
|
||||
};
|
||||
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 $request = {
|
||||
url => $URL,
|
||||
header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}" },
|
||||
method => 'GET',
|
||||
timeout => 3,
|
||||
infotext => $infotext,
|
||||
hash => $hash,
|
||||
callback => \&TadoAPI_LogInfoCallback
|
||||
};
|
||||
|
||||
HttpUtils_NonblockingGet($request);
|
||||
}
|
||||
|
@ -1067,50 +1071,50 @@ sub TadoAPI_RequestTadoDevices(@) {
|
|||
return undef;
|
||||
}
|
||||
|
||||
sub TadoAPI_ZoneRequest(@) {
|
||||
# returns array with state of all zones
|
||||
my ($hash) = @_;
|
||||
my $name = $hash->{NAME};
|
||||
my $homeID = $attr{$name}{homeID};
|
||||
my @zones = ();
|
||||
my $TokenData = TadoAPI_LoadToken($hash);
|
||||
# sub TadoAPI_ZoneStateRequest(@) {
|
||||
# # returns array with state of all zones
|
||||
# my ($hash) = @_;
|
||||
# my $name = $hash->{NAME};
|
||||
# my $homeID = $attr{$name}{homeID};
|
||||
# my @zones = ();
|
||||
# my $TokenData = TadoAPI_LoadToken($hash);
|
||||
|
||||
if(defined($TokenData))
|
||||
{
|
||||
for (my $i=1; $i <= TadoAPI_GetZoneCount($hash); $i++) {
|
||||
my $URL=$QueryURL.qq{/$homeID/zones/$i/state};
|
||||
my $param = {
|
||||
url => $URL,
|
||||
header => {"Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}"},
|
||||
method => 'GET',
|
||||
timeout => 5,
|
||||
hash => $hash,
|
||||
zoneID => $i
|
||||
};
|
||||
# if(defined($TokenData))
|
||||
# {
|
||||
# for (my $i=1; $i <= TadoAPI_GetZoneCount($hash); $i++) {
|
||||
# my $URL=$QueryURL.qq{/$homeID/zones/$i/state};
|
||||
# my $param = {
|
||||
# url => $URL,
|
||||
# header => {"Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}"},
|
||||
# method => 'GET',
|
||||
# timeout => 5,
|
||||
# hash => $hash,
|
||||
# zoneID => $i
|
||||
# };
|
||||
|
||||
#Log3 $name, 5, 'Blocking GET: ' . Dumper($param);
|
||||
my ($err, $data) = HttpUtils_BlockingGet($param);
|
||||
# #Log3 $name, 5, 'Blocking GET: ' . Dumper($param);
|
||||
# my ($err, $data) = HttpUtils_BlockingGet($param);
|
||||
|
||||
if($err ne "")
|
||||
{
|
||||
Log3 $name, 3, "TadoAPI $name" . ": " . "ZoneRequest: Error while requesting ".$param->{url}." - $err";
|
||||
}
|
||||
elsif($data ne "")
|
||||
{
|
||||
Log3 $name, 5, "url ".$param->{url}." returned: $data";
|
||||
my $decoded_data = eval { decode_json($data) };
|
||||
# if($err ne "")
|
||||
# {
|
||||
# Log3 $name, 3, "TadoAPI $name" . ": " . "ZoneRequest: Error while requesting ".$param->{url}." - $err";
|
||||
# }
|
||||
# elsif($data ne "")
|
||||
# {
|
||||
# Log3 $name, 5, "url ".$param->{url}." returned: $data";
|
||||
# my $decoded_data = eval { decode_json($data) };
|
||||
|
||||
if ($@){
|
||||
Log3 $name, 3, "TadoAPI $name" . ": " . "RequestZones: Zone $i decode_json failed, invalid json. error:$@\n";
|
||||
}else{
|
||||
# pushes zone i to array
|
||||
push @zones, $decoded_data;
|
||||
}
|
||||
}
|
||||
}
|
||||
return @zones;
|
||||
}
|
||||
}
|
||||
# if ($@){
|
||||
# Log3 $name, 3, "TadoAPI $name" . ": " . "RequestZones: Zone $i decode_json failed, invalid json. error:$@\n";
|
||||
# }else{
|
||||
# # pushes zone i to array
|
||||
# push @zones, $decoded_data;
|
||||
# }
|
||||
# }
|
||||
# }
|
||||
# return @zones;
|
||||
# }
|
||||
# }
|
||||
|
||||
sub TadoAPI_GetMobileDevices(@) {
|
||||
my ($hash) = @_;
|
||||
|
|
Loading…
Reference in New Issue