From ab4abd88e8812547c964302fc320f7e22f59359c Mon Sep 17 00:00:00 2001 From: Philipp Wo Date: Thu, 14 Nov 2019 06:59:16 +0100 Subject: [PATCH] updated documentation --- 98_TadoAPI.pm | 12 ++++++------ README.md | 39 ++++++++++++++++++++++++++++++--------- doc/gzd.PNG | Bin 0 -> 37128 bytes doc/so.PNG | Bin 0 -> 11900 bytes 4 files changed, 36 insertions(+), 15 deletions(-) create mode 100644 doc/gzd.PNG create mode 100644 doc/so.PNG 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 0000000000000000000000000000000000000000..089f418d836e00761e26bd079c25eb0a4632d20d GIT binary patch literal 37128 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

^ekHW6`iC)&5F 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%0DwY0fgkdMIb`e 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 literal 0 HcmV?d00001 diff --git a/doc/so.PNG b/doc/so.PNG new file mode 100644 index 0000000000000000000000000000000000000000..f8b727f3836b9b453451f7313fb457f7458e3d70 GIT binary patch literal 11900 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 literal 0 HcmV?d00001