added duration for setAllOverlays; doku updated

This commit is contained in:
Philipp Wo 2020-02-06 05:47:50 +01:00
parent 9d668bd8d0
commit 2992a11988
2 changed files with 9 additions and 6 deletions

View File

@ -1,5 +1,5 @@
#===============================================================================
# $Id: 98_TadoAPI.pm 101 2019-12-27 15:58:26Z psycho160 $
# $Id: 98_TadoAPI.pm 102 2019-12-27 15:58:26Z psycho160 $
#
# FILE: 98_TadoAPI.pm
#
@ -185,7 +185,7 @@ sub TadoAPI_Set(@) {
} elsif( $cmd eq 'setZoneOverlay' ) {
Log3 $name, 5, "TadoAPI $name" . ": " . "processing ($cmd)";
return "Need at least two parameters (ZoneID, Setting) - Setting: remove=delete overlay; 0=heating power off; 1<=desired temperature (overlay)" if(@a < 4);
return "Need at least two parameters [ZoneID] [Setting] (duration in sec); Setting Info: remove=delete overlay; 0=heating power off; 1<=desired temperature (overlay)" if(@a < 4);
if( $a[3] eq "remove" ) {
TadoAPI_SetZoneOverlayById($hash, $value, "remove");
@ -688,14 +688,17 @@ sub TadoAPI_SetZoneOverlayById(@){
}
sub TadoAPI_SetAllOverlays(@){
my ($hash, $setting) = @_;
my ($hash, $setting, $duration) = @_;
my $name = $hash->{NAME};
my $homeID = $attr{$name}{homeID};
my @zones = TadoAPI_GetTadoDevices($hash);
for (my $i=0; $i < @zones; $i++) {
my $zoneid = $zones[$i]->{'id'};
TadoAPI_SetZoneOverlayById($hash, $zoneid, $setting);
if(defined($duration) && $duration > 0){
TadoAPI_SetZoneOverlayById($hash, $zoneid, $setting, $duration);
}else
TadoAPI_SetZoneOverlayById($hash, $zoneid, $setting);
}
}

View File

@ -32,14 +32,14 @@ Standardmäßig aktualisiert das Modul alle 5 Minuten die folgenden Werte:
Sämtliche externen Aufrufe sind *nonblocking* ausgeführt.
### Overlay für Zone setzen
`set setZoneOverlay <zonenID> <Wunschtemperatur>`
`set setZoneOverlay <zonenID> <Wunschtemperatur> [Dauer des Overlay in Sekunden]`
**INFO:** unterstützte Werte der Wunschtemperatur: `remove=delete overlay; 0=heating power off; 1<=desired temperature (overlay)`
<img src="https://home.wolfmajer.at/wolfgit/Public/FHEM-Tado/raw/branch/master/doc/so.PNG" width="500" />
### Overlay für alle Zonen setzen
`set setZoneOverlay <Wunschtemperatur>`
`set setAllOverlays <Wunschtemperatur> [Dauer des Overlay in Sekunden]`
**INFO:** unterstützte Werte der Wunschtemperatur: `remove=delete overlay; 0=heating power off; 1<=desired temperature (overlay)`