diff --git a/98_TadoAPI.pm b/98_TadoAPI.pm index 83235c5..0713a47 100644 --- a/98_TadoAPI.pm +++ b/98_TadoAPI.pm @@ -53,6 +53,7 @@ my %sets = ( "update" => "noArg", "setGeo" => "", "setZoneOverlay" => "", + "timedZoneOverlay" => "", "updateAllOverlays" => "noArg", "setAllOverlays" => "" ); @@ -196,6 +197,15 @@ sub TadoAPI_Set(@) { } Log3 $name, 4, "TadoAPI $name" . ": " . "$cmd finished"; + } elsif( $cmd eq 'timedZoneOverlay' ) { + Log3 $name, 5, "TadoAPI $name" . ": " . "processing ($cmd)"; + return "Need at least three parameters [ZoneID] [Duration (sec)] [Setting]" if(@a < 4); + + if( defined($a[4]) ) { + TadoAPI_SetTimedZoneOverlay($hash, $value, $a[3], $a[4]); + } + Log3 $name, 4, "TadoAPI $name" . ": " . "$cmd finished"; + } elsif( $cmd eq 'setAllOverlays' ) { Log3 $name, 5, "TadoAPI $name" . ": " . "processing ($cmd)"; return "Need at least one parameter (Setting) - Setting: remove=delete overlay; 0=heating power off; 1<=desired temperature (overlay)" if(@a < 3); @@ -648,7 +658,7 @@ sub TadoAPI_SetZoneOverlayById(@){ expiry => strftime('%Y-%m-%dT%H:%M:%SZ', gmtime($dt)), } }; - Log3 $name, 3, "TadoAPI $name" . ": " . "Timer Overlay for Zone $zoneID . Duration: $duration Exire"; + Log3 $name, 3, "TadoAPI $name" . ": " . "Set Timer Overlay for Zone $zoneID with $duration seconds expire."; } else{ # infinite setting @@ -1055,6 +1065,13 @@ sub TadoAPI_ReplaceUmlaute(@) { return $string; } +# helper sub for fhem tablet-ui thermostat widget: set timedZoneOverlay +sub TadoAPI_SetTimedZoneOverlay(@){ + my ($hash, $zoneid, $duration, $setting) = @_; + TadoAPI_SetZoneOverlayById($hash, $zoneid, $setting, $duration); +} + + sub TadoAPI_GetHomeId(@){ # returns first home id only my ($hash) = @_; diff --git a/README.md b/README.md index 13a09dc..6f76a7e 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,21 @@ Sämtliche externen Aufrufe sind *nonblocking* ausgeführt. ## Verwendung in FHEM +### FHEM Tablet-UI +Im Tablet UI lassen sich alle Readings des tado FHEM Modul anzeigen: + + + +Auch lassen sich im Tablet UI mit einem Thermostat Widget alle Zonen steuern: + + + +Code Snippet für einen Thermostat Widget: +``` +
+``` + +### Tado mit Anwesenheit verknüpfen In Kombination mit dem Presence (bzw. Residents) Modul kann man *tado* automatisch zwischen HOME und AWAY umschalten lassen und die Temperatur mittels FHEM absenken lassen. Beispiel dafür: diff --git a/doc/tablet-ui-readings.PNG b/doc/tablet-ui-readings.PNG new file mode 100644 index 0000000..44645b8 Binary files /dev/null and b/doc/tablet-ui-readings.PNG differ diff --git a/doc/tablet-ui-thermostat.PNG b/doc/tablet-ui-thermostat.PNG new file mode 100644 index 0000000..17ccc8b Binary files /dev/null and b/doc/tablet-ui-thermostat.PNG differ