added TabletUI Infos & added helper fn for thermostat widget

This commit is contained in:
Philipp Wo 2020-02-06 08:39:50 +01:00
parent 8c545c3bfe
commit 66a5c525a9
4 changed files with 33 additions and 1 deletions

View File

@ -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 <zoneId> <duration> <setting>
sub TadoAPI_SetTimedZoneOverlay(@){
my ($hash, $zoneid, $duration, $setting) = @_;
TadoAPI_SetZoneOverlayById($hash, $zoneid, $setting, $duration);
}
sub TadoAPI_GetHomeId(@){
# returns first home id only
my ($hash) = @_;

View File

@ -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:
<img src="https://home.wolfmajer.at/wolfgit/Public/FHEM-Tado/raw/branch/master/doc/tablet-ui-readings.PNG" width="500" />
Auch lassen sich im Tablet UI mit einem Thermostat Widget alle Zonen steuern:
<img src="https://home.wolfmajer.at/wolfgit/Public/FHEM-Tado/raw/branch/master/doc/tablet-ui-thermostat.PNG" width="500" />
Code Snippet für einen Thermostat Widget:
```
<div data-type="thermostat" data-height="250" data-width="285" data-temp="Temperatur_Heizung" data-min="15" data-max="24" data-device="mytd" data-set="timedZoneOverlay 1 7200" data-get="DesiredTemp_Heizung"></div>
```
### 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:

BIN
doc/tablet-ui-readings.PNG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB