diff --git a/98_TadoAPI.pm b/98_TadoAPI.pm index 1167538..b711bfd 100644 --- a/98_TadoAPI.pm +++ b/98_TadoAPI.pm @@ -424,16 +424,16 @@ sub TadoAPI_requestNewToken(@) { grant_type=>'password' }; - $Request = POST($AuthURL,$data); - $UserAgent = LWP::UserAgent::Paranoid->new(ssl_opts => { verify_hostname => 1 },protocols_allowed => ['https','http'],request_timeout => 5,); - $Response = $UserAgent->request($Request); + my $req = POST($AuthURL,$data); + my $ua = LWP::UserAgent::Paranoid->new(ssl_opts => { verify_hostname => 1 },protocols_allowed => ['https','http'],request_timeout => 5,); + my $res = $ua->request($req); - if($Response->is_success){ - $TokenData = decode_json($Response->content); + if($res->is_success){ + $TokenData = decode_json($res->content); #write token data in file open(TOKENFILE,">$tokenFileName") or die("ERROR: $!"); - print TOKENFILE $Response->content."\n"; + print TOKENFILE $res->content."\n"; close(TOKENFILE); # token time management diff --git a/README.md b/README.md index 7e99587..ed66da8 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,17 @@ FHEM Modul für [tado](https://www.tado.com/at/) Heizungssteuerung. Bin unter philipp@wolfmajer.at erreichbar. +## Was wird unterstützt? +* Übersicht aller Tado Zonen +* Temperatur & Luftfeuchtigkeit +* Batteriestatus +* akruelle Heizleistung +* Wunschtemperatur +* Overlays +* setzen einer gewünschten Temperatur pro Raum (set setOverlay ```` ````) +* setzen der Geotracking Einstellung für ein Mobiles Gerät +* ... + ## Definition & Funktion In FHEM wird das Modul folgendermaßen definiert: @@ -27,20 +38,22 @@ Pfad des Token ist im Modul fix eingestellt `/fhem-root/FHEM/FhemUtils/TadoAPI_t ## Verwendung -In Kombination mit dem Presence Modul kann man *tado* automatisch zwischen HOME und AWAY umschalten lassen. +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: ``` -+*00:02:00 {if (Value("Anwesenheit") eq "falsch" && ReadingsVal("","HomeMode",0) ne "AWAY") ++*00:03:00 { +if (Value("Bewohner") eq "absent" && ReadingsVal("mytd","OverlayType_",0) ne "MANUAL") { - fhem("get mytd getHomeMode; set mytd setGeo on"); - Log 3, "TadoAPI: Away"; - }elsif (Value("Anwesenheit") eq "wahr" && ReadingsVal("","HomeMode",0) eq "AWAY"){ - # somebody at home - fhem("set mytd setGeo off"); - Log 3, "TadoAPI: Home"; - } + fhem("set mytd setOverlay 18.6; set mytd setGeo on; get mytd getHomeMode"); + Log 3, "TadoAPI: Keiner mehr zu Hause - Overlay und Geolocation wird aktiviert."; +}elsif (Value("Bewohner") eq "home" && ReadingsVal("mytd","OverlayType_Heizung",0) eq "MANUAL") +{ + # jemand zu hause + fhem("set mytd setOverlay off; set mytd setGeo off"); + Log 3, "TadoAPI: Bewohner anwesend - Overlay wird deaktiviert."; +} } ... ``` @@ -75,3 +88,11 @@ plot "" using 1:2 axes x1y1 title 'Temperatur' ls l1fill lw 1 with lines,\ "" using 1:2 axes x1y2 title 'Feuchte' ls l2 lw 1 with lines,\ "" using 1:2 axes x1y2 title 'Heizleistung' ls l5 lw 1.5 with lines ``` + +## Screenshots + +### Tado Geräte einer Zone anzeigen + + +### Temperatur einer Zone manuell festlegen + \ No newline at end of file diff --git a/doc/gzd.PNG b/doc/gzd.PNG new file mode 100644 index 0000000..089f418 Binary files /dev/null and b/doc/gzd.PNG differ diff --git a/doc/so.PNG b/doc/so.PNG new file mode 100644 index 0000000..f8b727f Binary files /dev/null and b/doc/so.PNG differ