Autor Thema: tado.com in FHEM integrieren (Problem HTTPMOD)  (Gelesen 15136 mal)

Offline linuxq

  • Jr. Member
  • **
  • Beiträge: 58
tado.com in FHEM integrieren (Problem HTTPMOD)
« am: 19 März 2014, 12:17:33 »
Hallo,

ich nutze eine Heizungssteuerung von tado.com. Diese würde ich gerne teilweise in FHEM integrieren. Ich nutze seit gestern erst FHEM und nun suche ich Infos/Howtos, wie ich dies mit FHEM umsetzen kann. Zumindest mal:

-Ist-Temperatur anzeigen, loggen und im Chart darstellen
-Heizung ein-/ausschalten

Zur Info: Ich habe eine "Homebrew" Tado-App für BB10 in Arbeit und kann per HTTPRequest in JS z.B. die Temperaturen, Sollwerte, Status der Steuerung (HOME, AWAY,... HEAT,COOLDOWN,...) abfragen / ändern und bekomme die Antwort als JSON zurück. Auch Heizung an/abschalten oder Sollwerte ändern ist mit meiner App kein Problem. Alles als HTTPREQUESTs. In JS für meine BB10-App läuft das wunderbar.

Ich muß z.B. für den Sollwert einen Request raussenden:

"https://tado.url/mobile/1.3/apiBefehl"

und erhalte ein JSON zurück, welches Isttemperatur, Solltemperatur etc. enthält. Wie kann ich das mit FHEM umsetzen? Gibt es da Tutorials?

« Letzte Änderung: 19 März 2014, 14:42:10 von linuxq »

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 17266
Antw:tado.com in FHEM integrieren
« Antwort #1 am: 19 März 2014, 12:35:15 »
Es gibt ein HTTPMOD Modul, mit etwas Glueck kann man es einfach verwenden.
Ansonsten wuerde ich dieses Modul kopieren und anpassen.

Offline linuxq

  • Jr. Member
  • **
  • Beiträge: 58
Antw:tado.com in FHEM integrieren
« Antwort #2 am: 19 März 2014, 14:35:16 »
Hmm, ich bekomme es nicht hin. Die Response sieht so aus:
{"success":true,"operation":"HOME","operationTrigger":"SYSTEM","insideTemp":21.88,"setPointTemp":20.5,"controlPhase":"STEADY","boxConnected":true,"gwConnected":true,"tsConnected":true,"currentUserPrivacyEnabled":false,"currentUserGeoStale":false,"deviceUpdating":false,"homeId":0815}
Und ich habe es so versucht:
################### Tado ###########################
define tadoCS HTTPMOD https://dierichtige.url?username=0815_fritz&password=loginhashcode 60
attr tadoCS requestHeader1 Content-Type: application/json
attr tadoCS requestHeader2 Accept: */*

attr tadoCS readingsName2 insideTemp
attr tadoCS readingsName3 setPointTemp
attr tadoCS readingsRegex2 insideTemp":([\d\.]+)
attr tadoCS readingsRegex3 setPointTemp":([\d\.]+)
attr tadoCS stateFormat {sprintf(ReadingsVal($name,"insideTemp",0))}
attr tadoCS userReadings VLRL {sprintf("%u %u", ReadingsVal($name, "insideTemp",0))}
define FileLog_Heizraum FileLog ./log/Heizraum-%Y%m%d.log tadoCD:VLRL:.*
attr FileLog_Heizraum nrarchive 1
attr FileLog_Heizraum room Heizraum

Aber im Log sehe ich nur:
Zitat
HTTPMOD: Response didn't match Reading(s) insideTemp, setPointTemp

Wo ist mein Fehler? Sorry, sind meine ersten "Gehversuche" mit FHEM :(

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 17266
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #3 am: 19 März 2014, 19:07:27 »
Ich sehe erstmal keinen Fehler, allerdings habe ich mit HTTPMOD auch keine Erfahrung. Ich habe die Diskussion nach Sonstiges verschoben, da laut MAINTAINER.txt der HTTPMOD Autor hier die Meldungen haben moechte.

Steht diese Response so in fhem log? Siehe mit attr tadoCS verbose 5

Offline linuxq

  • Jr. Member
  • **
  • Beiträge: 58
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #4 am: 19 März 2014, 19:35:43 »
OK, kann ich irgendwie die komplette Antwort mitloggen?

Gesendet von meinem Z10 mit Tapatalk


Offline linuxq

  • Jr. Member
  • **
  • Beiträge: 58
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #5 am: 19 März 2014, 22:33:39 »
Ok, mit Verbose 5 sehe ich, daß die Antwort leer ist.

2014.03.19 22:29:05 4: HTTPMOD: GetUpdate called, hash = HASH(0x1be4460), name = tadoCS
2014.03.19 22:29:06 5: HTTPMOD: Callback called: Hash: HASH(0x1be4460), Name: tadoCS, buffer:

2014.03.19 22:29:06 5: HTTPMOD: Trying to extract Reading insideTemp with regex /insideTemp":([\d\.]+)/...
2014.03.19 22:29:06 5: HTTPMOD: Trying to extract Reading setPointTemp with regex /setPointTemp":([\d\.]+)/...
2014.03.19 22:29:06 3: HTTPMOD: Response didn't match Reading(s) insideTemp, setPointTemp
2014.03.19 22:29:06 4: HTTPMOD: response was

Wenn ich nun die JSON in eine Datei auf meinem Server lege und diese dann abfrage, stimmen die Werte! Also liegt es am Aufruf von:

define tadoCS HTTPMOD https://dierichtige.url?username=0815_fritz&password=loginhashcode 60
Mit wget abgerufen oder in per Browser, kommen die richtigen JSON-Daten. Was könnte mein Fehler sein?

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 17266
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #6 am: 20 März 2014, 07:21:31 »
Kannst du bitte in 98_HTTPMOD.pm vor der Zeile mit HttpUtils_NonblockingGet folgendes einfuegen:
$hash->{noshutdown} = 1;
und danach FHEM neustarten und testen?

Offline linuxq

  • Jr. Member
  • **
  • Beiträge: 58
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #7 am: 20 März 2014, 08:06:35 »
Super, Danke! Das hat geholfen! Nun muß ich noch ein Tutorial zu speichern und Diagrammdarstellung suchen.

Noch eine Frage: Wie kann ich einen Switch erstellen, der je nach Stellung eine andere URL aufruft?

Das wäre die simpelste Methode, um die Heizung am Tadoserver in den Manuellen oder Automatischen Betrieb zu nehmen.  Ich muß mich mal in FHEM einarbeiten. Die Möglichkeiten scheinen endlos :)

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 17266
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #8 am: 20 März 2014, 10:32:23 »
Diese Zeile sollte von HTTPMOD Autor entweder fest oder optional per Attribut eingebaut werden.
Unterschiedliche URL's kann man mit zwei HTTPMODs bauen.

Speichern: Siehe FileLog/DbLog
Diagramm: In FileLog auf Create SVG Plot klicken.
Siehe auch http://forum.fhem.de/index.php/topic,11275.msg75594.html#msg75594


Offline linuxq

  • Jr. Member
  • **
  • Beiträge: 58
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #9 am: 20 März 2014, 10:40:38 »
Danke, das Diagramm habe ich vorhin hinbekommen , nachdem ich die HowTos gelesen habe. :D

Noch eine andere Frage. Durch den Befehl:
attr tado_temp stateFormat {sprintf("Ist: %.2f°C,   Soll: %.2f°C", ReadingsVal($name,"temperature",0), ReadingsVal($name,"setPointTemp",0))}
Bekomme ich die 2 Werte (ich will noch mehrere umsetzen) in einer Zeile dargestellt:

"tado_temp  Ist: 21.02°C, Soll: 20.00°C"

Wie kann ich die Werte als eine Liste darstellen? So ähnlich:

Temperatur Wohnzimmer:  20.05°C
Solltemperatur:         20.50°C
Status:       HOME
Regelung:  AUFHEIZEN

Und wie setze ich die als Elemente, die auch in der Android-App "andFHEM" darstellbar sind?

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 17266
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #10 am: 20 März 2014, 11:07:19 »
Liste: readingsGroup. andFHEM: keine Ahnung.

Offline michaelfhem

  • Jr. Member
  • **
  • Beiträge: 56
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #11 am: 23 Juli 2014, 23:46:01 »
Hallo zusammen,

hat sich hier noch was getan. Ich wäre an einer Möglichkeit interessiert die SollTemperatur meiner Buderus GB142 von fhem zu steuern und ein paar Messwerte zu lesen. Ist tado dafür als manuelles Gateway geeignet? Es gibt ja auch noch Selfmade Lösungen ( http://ems-gateway.myds.me/dokuwiki/doku.php?id=start) die allerdings schon einiges an technischen Knnowhow erfordern.

Grüße Michi
raspberry Pi 3 + jessie + fhem
Devices: Fritz Dect 200, Homematic (HMLan-Gateway), FS20 (CUL-Stick), Hue-Gateay, Sonos

Offline disaster123

  • Jr. Member
  • **
  • Beiträge: 64
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #12 am: 01 August 2014, 14:07:43 »
Hi  linuxq,

bist du weiter gekommen? Hast du die Tado URLs via Proxy gesniffed? Offiziell stehe die ja nirgendwo.

Grüße Stefan

Offline linuxq

  • Jr. Member
  • **
  • Beiträge: 58
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #13 am: 08 August 2014, 12:33:47 »
Hallo,

ich habe nicht weiter gemacht. Das werde ich in der Heizperiode wieder versuchen. Ich habe my.tado.com in Chrome aufgerufen und dann den WebInspektor von Chrome genommen, um den Traffic nach zu verfolgen ;)

Momentaner Stand ist folgender:

################### Tado ###########################
define tado_temp HTTPMOD https://my.tado.com/mobile/1.3/getCurrentState?username=801_meinname&password=meinpassworthash 600
attr tado_temp readingsName1 tempist
attr tado_temp readingsName2 tempsoll
attr tado_temp readingsName3 operation
attr tado_temp readingsName4 controlPhase
attr tado_temp readingsRegex1 insideTemp":([\d\.]+)
attr tado_temp readingsRegex2 setPointTemp":([\d\.]+)
attr tado_temp readingsRegex3 operation":"([\w\.]+)
attr tado_temp readingsRegex4 controlPhase":"([\w\.]+)
attr tado_temp requestHeader1 Content-Type: application/json
attr tado_temp requestHeader2 Accept: */*

define FileLog_Tado FileLog ./log/Tado-%Y.log tado_temp
attr FileLog_Tado logtype temptado4:Plot,text
attr FileLog_Tado nrarchive 1

define tado_tempchart SVG FileLog_Tado:temptado4:CURRENT
attr tado_tempchart group tado_graph
attr tado_tempchart label "Temperatur Wohnzimmer: Min: $data{min1}°C, Max: $data{max1}°C, Aktuell: $data{currval1}°C"
attr tado_tempchart room Heizung

define tado_status readingsGroup tado_temp:tempist, tado_temp:operation, tado_temp:controlPhase, tado_temp:tempsoll, Wetter:temperature
attr tado_status alias Status der Heizung (tado°)
attr tado_status group tado
attr tado_status mapping {"operation" => "Modus", "controlPhase" => "Status", "tempist" => "aktuelle Temperatur", "tempsoll" => "Solltemperatur", "temperature" => "Außentemperatur"}
attr tado_status nostate 1
attr tado_status notime 1
attr tado_status room Heizung

Damit erhalte ich ein Temperaturchart mit Soll- und Isttemperatur und den aktuellen Status und die Werte.

Wie kann ich, wenn der Istwert der Heizung (tempist) unter 15° fällt, eine Aktion auslösen?

Kann mit DAU da, jemand helfen? Das ganze soll ja auch nur 1 mal geschehen, jedes mal, wenn der Wert unterschritten wird. So als "Alarm", wenn die Heizung ausfallen sollte.

Gruß

LinuxQ


vossy74

  • Gast
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #14 am: 20 November 2014, 14:11:44 »
Hallo,

hast Du diesbezüglich noch etwas dazu herausgefunden?
Ich kann mich schon nicht authentifizieren.

Wenn ich folgendes im Browser eingebe bekomme ich ein authentication failed. Melde ich mich vorher auf der Hompage an , bekomme ich die gewünschte Ausgabe, solange ich da angemeldet und auf dem gleichen Rechner bleibe

https://my.tado.com/mobile/1.4/getCurrentState?username=emailadresse&passwort=passwort

Wie logst du dich da ein?
VG
Lars

Offline linuxq

  • Jr. Member
  • **
  • Beiträge: 58
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #15 am: 20 November 2014, 14:50:28 »
Hi,

mit dem normalen Login kommst Du da nicht weit und offizielle API gibt es nicht dazu. Ich habe es wie folgt gemacht:

ACHTUNG: Nerd-Alarm ;)

-Android App auf Handy installieren, aber noch NICHT einloggen.
-Auf einem PC im WLAN einen Man-In-The-Middle-Proxy installieren
-Das WLAN des Handys so einstellen, daß der MITM-Proxy für den Internetzugang verwendet wird.
-Den Proxy einschalten am PC.
-Sich mit der Tado-App anmelden.
-Am PC kannst Du dann allen Verkehr zwischen Handy und Tado lesen.

Dort ist dann in der URL der Username des Endgerätes und das verschlüsselte Passwort enthalten:

https://my.tado.com/mobile/1.5/getCurrentState?username=Zahl_Name&password=xxxxxxx.....

Diese Daten mußt Du verwenden. Dann geht es. Den Loginprozess konnte ich leider nicht nachbauen.

Gruß

LinuxQ

vossy74

  • Gast
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #16 am: 22 November 2014, 14:23:15 »
Hallo,

danke für die Info. Leider funktioniert es, trotz Nutzung der abgefangenen Daten, nicht.

VG
Lars

Offline linuxq

  • Jr. Member
  • **
  • Beiträge: 58
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #17 am: 24 November 2014, 07:57:12 »
Hast Du mal den Link, den Du abgefangen hast im Browser geöffnet?

Link z.B.: "https://my.tado.com/mobile/1.5/getCurrentState?username=745_meingerätename&password=ffsdjlkhfsdhlkhj34hjl48HA34" (Nur Beispiel, funktioniert latürnich nicht)

Dann sollte eine Antwort kommen wie:

Zitat
{"success":true,"operation":"HOME","autoOperation":"HOME","operationTrigger":"SYSTEM","insideTemp":20.770000457763672,"setPointTemp":21,"controlPhase":"HEATUP","boxConnected":true,"gwConnected":true,"tsConnected":true,"currentUserPrivacyEnabled":false,"currentUserGeoStale":null,"deviceUpdating":false,"homeId":745,"pendingDeviceInstallation":false}

vossy74

  • Gast
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #18 am: 28 November 2014, 11:40:10 »
Hi,

ja habe ich gemacht. Antwort ist: "Authorization failed."
Melde ich mich bei my.tado.com an geht es. Ich habe das gefühl, das er die Zeile nach dem & abschneidetund deshalb das Passwort nicht uebergeben wird. Versuche ich mit wget die url zu oeffnen gibt es folgende ausgabe:

wget -vv https://my.tado.com/mobile/1.5/getCurrentState?username=nummer_name & password=passworthash

--2014-11-24 18:52:41--  https://my.tado.com/mobile/1.5/getCurrentState?username=nummer_name
Resolving my.tado.com (my.tado.com)... 54.194.21.103
Connecting to my.tado.com (my.tado.com)|54.194.21.103|:443... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Authorization failed.

VG
Lars

Offline linuxq

  • Jr. Member
  • **
  • Beiträge: 58
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #19 am: 08 Dezember 2014, 21:30:39 »
Die Leerzeichen in der URL hast Du aber nur hier zur Verdeutlichung drin, oder? Sonst ist es klar, daß es nicht geht.

Offline mahowi

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 866
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #20 am: 07 Januar 2015, 13:45:11 »
Hallo!

Ich bin auch noch absoluter FHEM-Neuling und habe Dein Skript jetzt mal ausprobiert. Es hat etwas gedauert, bis ich auch den Plot hinbekommen habe, aber soweit funktioniert jetzt alles. Aber wie kann ich die Ist-Temperatur auf 2 Stellen nach dem Komma runden?

Ich habe es mit attr tado_temp stateFormat {sprintf("%.2f", ReadingsVal($name,"insideTemp",0))} probiert, aber das ändert leider nichts.

Das Ergebnis sieht bisher so aus bei mir:
(https://dl.dropboxusercontent.com/u/83276402/tado-fhem.png)
Gruß,
Manny
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Offline mahowi

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 866
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #21 am: 09 Januar 2015, 10:50:53 »
Ich habe es jetzt auch mit attr tado_temp userReadings tado_temp:tempist {sprintf("%.2f", ReadingsVal("tado_temp","tempist",0))} probiert, aber auch so bekomme ich die Temperaturen nicht auf 2 Stellen gerundet. Leider sind meine Perl-Kenntnisse etwas eingerostet.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Offline StefanStrobel

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 838
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #22 am: 14 Januar 2015, 20:19:15 »
Hallo mahowi,

mit dem statFormat beeinflusst Du den State, nicht aber das ursprüngliche insideTemp Reading.
Probier's mal mit der ReadingXExpr, wie ich Dir in deinem separaten Posting geantwortet habe.
Die Idee mit sprintf ist prinzipiell richtig.

Gruss
   Stefan

Offline stim

  • Jr. Member
  • **
  • Beiträge: 59
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #23 am: 27 Januar 2015, 11:15:21 »
woher weiss tado wann man nach Hause kommt wie sind eure Erfahrungen?

Grüße stim

Offline mahowi

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 866
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #24 am: 27 Januar 2015, 13:38:24 »
Du musst die App auf dem Smartphone installieren, dann weiß tado anhand der Standorterkennung, wann Du zuhause bist bzw. wie weit Du von zuhause weg bist. Je weiter weg, desto weiter fährt tado die Heizung runter. Ich benutze es jetzt seit knapp einem Monat und das System funktioniert soweit ganz gut. Ich hatte lediglich Probleme mit dem Handy meiner Freundin, das nicht immer erkannt wurde.

Gesendet von meinem LIFETAB_S831X mit Tapatalk

CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Offline joe0508

  • Newbie
  • Beiträge: 2
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #25 am: 16 Dezember 2015, 12:33:48 »
Hi,

mit dem normalen Login kommst Du da nicht weit und offizielle API gibt es nicht dazu. Ich habe es wie folgt gemacht:

ACHTUNG: Nerd-Alarm ;)

-Android App auf Handy installieren, aber noch NICHT einloggen.
-Auf einem PC im WLAN einen Man-In-The-Middle-Proxy installieren
-Das WLAN des Handys so einstellen, daß der MITM-Proxy für den Internetzugang verwendet wird.
-Den Proxy einschalten am PC.
-Sich mit der Tado-App anmelden.
-Am PC kannst Du dann allen Verkehr zwischen Handy und Tado lesen.

Dort ist dann in der URL der Username des Endgerätes und das verschlüsselte Passwort enthalten:

https://my.tado.com/mobile/1.5/getCurrentState?username=Zahl_Name&password=xxxxxxx.....

Diese Daten mußt Du verwenden. Dann geht es. Den Loginprozess konnte ich leider nicht nachbauen.

Gruß

LinuxQ

geht auch unter OSX und mitmproxy
Anleitung: http://www.kuketz-blog.de/mitmproxy-app-verkehr-mitschneiden/
Bei der Anleitung Installation weglassen und hier http://mitmproxy.org direkt binaries für OSX laden - müsste auch gehen.

Offline joe0508

  • Newbie
  • Beiträge: 2
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #26 am: 17 Dezember 2015, 19:43:28 »
Der Versuch Tado in FHEM ein zu binden hat genau einmal funktioniert, seitdem kommt nur noch
Zitat
Connection: Close {"errors":[{"code":"unauthorized","title":"Bad credentials"}]}
.

Ist schon komisch. Zeigt aber das die Zugangsdaten gestimmt haben - aber was ist dann passiert ...

Offline mahowi

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 866
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #27 am: 22 Dezember 2015, 22:14:25 »
Nachdem ich eine ganze Weile nix mehr mit FHEM gemacht hab, hab ich es wieder neu aufgesetzt und auch tado° wieder eingebunden. Mittlerweile kann man auch die ganz normalen Login-Daten wie beim Web-Zugriff benutzen:
https://my.tado.com/mobile/1.9/getCurrentState?username=name@email.net&password=123456Einfach mal im Browser aufrufen. Bei mir wird dann folgendes angezeigt:
{"success":true,"operation":"HOME","preheating":false,"preheatingTargetOperation":null,"autoOperation":"HOME","operationTrigger":"SYSTEM","insideTemp":19.96,"setPointTemp":20,"controlPhase":"HEATUP","currentUserPrivacyEnabled":null,"currentUserGeoStale":null,"deviceUpdating":false,"homeId":11220,"heatingOn":true,"internetGatewayType":"GW02","internetGatewayConnected":true,"heatingMuscleType":"RU01","heatingMuscleConnected":true,"insideTemperatureSensorType":"RU01","insideTemperatureSensorConnected":true,"settingsEnabled":true,"fallbackOperation":false,"helpUrl":"https://support.tado.com/hc/","pendingDeviceInstallation":false}
In der fhem.cfg sieht das bei mir so aus:
define tado_temp HTTPMOD https://my.tado.com/mobile/1.9/getCurrentState?username=name@email.net&password=123456 300
attr tado_temp userattr reading1Expr reading1Name reading1Regex reading2Name reading2Regex reading3Name reading3Regex reading4Name reading4Regex requestHeader1 requestHeader2
attr tado_temp reading1Expr {sprintf("%.1f", $val)}
attr tado_temp reading1Name tempist
attr tado_temp reading1Regex insideTemp":([\d\.]+)
attr tado_temp reading2Name tempsoll
attr tado_temp reading2Regex setPointTemp":([\d\.]+)
attr tado_temp reading3Name operation
attr tado_temp reading3Regex operation":"([\w\.]+)
attr tado_temp reading4Name controlPhase
attr tado_temp reading4Regex controlPhase":"([\w\.]+)
attr tado_temp requestHeader1 Content-Type: application/json
attr tado_temp requestHeader2 Accept: */*

define FileLog_Tado FileLog ./log/Tado-%Y.log tado_temp
attr FileLog_Tado logtype temptado4:Plot,text
attr FileLog_Tado nrarchive 1
attr FileLog_Tado room LOG

define tado_status readingsGroup tado_temp:tempist, tado_temp:operation, tado_temp:controlPhase, tado_temp:tempsoll, Wetter:temperature
attr tado_status alias Status der Heizung (tado°)
attr tado_status mapping {"operation" => "Modus", "controlPhase" => "Status", "tempist" => "aktuelle Temperatur", "tempsoll" => "Solltemperatur", "temperature" => "Außentemperatur"}
attr tado_status nostate 1
attr tado_status notime 1
attr tado_status room Heizung

define tado_tempchart SVG lp:temptado4:CURRENT
attr tado_tempchart label "Temperatur tado°: Min: $data{min1}°C, Max: $data{max1}°C, Aktuell: $data{currval1}°C"
attr tado_tempchart room Allgemein,Heizung

Das sieht dann so aus wie im Anhang. Das dazugehörige Plot-File habe ich auch mal angehängt.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Offline Garagenhaus

  • Full Member
  • ***
  • Beiträge: 299
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #28 am: 22 Januar 2016, 16:07:30 »
Nachdem ich eine ganze Weile nix mehr mit FHEM gemacht hab, hab ich es wieder neu aufgesetzt und auch tado° wieder eingebunden. Mittlerweile kann man auch die ganz normalen Login-Daten wie beim Web-Zugriff benutzen:
https://my.tado.com/mobile/1.9/getCurrentState?username=name@email.net&password=123456Einfach mal im Browser aufrufen. Bei mir wird dann folgendes angezeigt:
Kannst du das noch mal deutlicher sagen; d.h. man muss keinen MITM-Proxy mehr installieren, etc...? Hab ich das richtig verstanden?
Max! System Standalone
CCU2 & HM-LC-Sw1-Pl-CT-R1, HM-LC-Sw4-PCB, HM-RC-4-2
Spielwiese: RPBi2 mit Locotus Addon-Board 868Mhz,
433Mhz Steckdosen und Thermometer
NanoCUL433 und NanoCUL868

Offline mahowi

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 866
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #29 am: 22 Januar 2016, 16:24:25 »
Kannst du das noch mal deutlicher sagen; d.h. man muss keinen MITM-Proxy mehr installieren, etc...? Hab ich das richtig verstanden?
Genau, das hast Du richtig verstanden. Einfach im Link oben die eigenen Login-Daten einsetzen, dann werden die tado Daten im JSON-Format angezeigt. Ab und zu kommt es vor, daß man den Link 2mal aufrufen muß.
Leider lässt tado ja schon seit der letzten Cebit auf die öffentliche API warten.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Sillec

  • Gast
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #30 am: 05 März 2016, 08:48:47 »
Erstmal vielen Dank für deine Config. Ich habe allerdings noch das Problem, dass ich zwar die Werte sehe aber der Plot nicht richtig funktioniert. Deine Gplot Datei habe ich auch importiert.

No Logdevice lp

Offline mahowi

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 866
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #31 am: 05 März 2016, 11:07:56 »
Das Plotfile mußt Du dann für Dich ändern. lp ist bei mir Logproxy.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Sillec

  • Gast
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #32 am: 06 März 2016, 11:15:05 »
Sorry bin noch ein absoluter Anfänger was FHEM betrifft. Wie muss ich denn dann den Logproxy einrichten?

Offline mahowi

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 866
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #33 am: 06 März 2016, 18:00:33 »
define lp logProxyAm besten liest Du Dir mal die Wiki-Seite dazu durch.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Offline Borkk

  • Full Member
  • ***
  • Beiträge: 106
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #34 am: 06 Mai 2016, 23:59:57 »
Hallo,

ich habe die hier beschriebene Anbindung an TADO umgesetzt und sie tut das was sie kann. Ich habe nun ein 2. Thermostat eingebunden. Die https Abfrage liefert aber nur Werte für des erste Thermostat. Hat jemand eine Idee?

Gibt es evtl. schon jemand der über ein TADO Modul für FHEM nachdenkt? Scheinbar gibt es jetzt eine API, denn es ist in IFTTT integriert.

Gruß
Steffen
« Letzte Änderung: 13 Mai 2016, 23:35:18 von Borkk »
----------
Raspi2#1: FHEM 5.8
Raspi2#2: ReverseProxy/CA
Raspi2#3: Homebridge & Alexa Bridge
HMLAN; HUE2; Netatmo; Withings; Squeezbox; Pushover; Jawbone; Pioneer; LG; Harmony, FritzBox, Tado°, div. Homematic Akt- und Sensoren, uvm...

Offline Diggewuff

  • Jr. Member
  • **
  • Beiträge: 71
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #35 am: 01 September 2016, 11:28:28 »
Nach dem heutigen erscheinen der TADO Heizkörperthermostate hätte ich daran auch großes Interesse.  :D
Meine Perl Kenntnisse sind allerdings auch nicht umfangreich genug, als dass ich selber ein entsprechendes Modul bauen könnte. :-\

Offline mahowi

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 866
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #36 am: 01 September 2016, 12:01:31 »
Die Anbindung an IFTTT gibt es schon länger. Allerdings hat tado immer noch keine öffentliche API vorgestellt, obwohl schon 2015 auf der Cebit angekündigt. Ich habe auch schon mehrmals direkt beim Support danach gefragt und immer die Antwort bekommen, daß bekannt gegeben wird, wenn sie da ist.

Ich habe nur die eigentliche Heizungssteuerung und keine HK-Thermostate, aber ich nehme an, daß beim API-Aufruf für unterschiedliche Thermostate die Zone geändert werden muß.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Offline Borkk

  • Full Member
  • ***
  • Beiträge: 106
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #37 am: 13 Oktober 2016, 09:56:22 »
Hallo Zusammen,

Könnte es sein das sich mit der neuen Bringe (HomeKit tauglich) was getan hat. Ich habe das gefunden

http://blog.scphillips.com/posts/2016/01/the-tado-api/

Wäre super wenn TADO endlich mal in die Puschen kommt  ;D
----------
Raspi2#1: FHEM 5.8
Raspi2#2: ReverseProxy/CA
Raspi2#3: Homebridge & Alexa Bridge
HMLAN; HUE2; Netatmo; Withings; Squeezbox; Pushover; Jawbone; Pioneer; LG; Harmony, FritzBox, Tado°, div. Homematic Akt- und Sensoren, uvm...

Offline mahowi

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 866
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #38 am: 13 Oktober 2016, 21:23:23 »
Das ist nix Neues. Das ist die API, die über die Webseite, über die man die Heizung konfigurieren kann, aufgerufen wird. Eine dokumentierte öffentliche API gibt es leider immer noch nicht von tado°.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Offline Dmitri

  • New Member
  • *
  • Beiträge: 3
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #39 am: 21 Oktober 2016, 10:55:41 »
Guten Tag!

Gibt es auch eine Möglichkeit bei tado die Werte über diese WEB-API zu setzen? (z.B. Solltemperatur).

Die Geräte sehen richtig gut aus und ich würde diese auch gern kaufen. Allerdings, wenn ich diese mit FHEM nur überwachen kann, sind diese mir leider nichts Wert, weil bei mir die ganze Steuerung in FHEM integriert ist (Licht, Jalousie, etc.)

Offline mahowi

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 866
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #40 am: 21 Oktober 2016, 13:18:25 »
Prinzipiell geht das. Ich hatte mir das mal angesehen, bin aber leider noch nicht dazu gekommen, das umzusetzen. Wenn Du die Web-App offen hast, kannst Du mal mit der Debug-Konsole im z.B. Chrome spielen. Da kannst Du die URLs auslesen, die beim Ändern der Einstellungen aufgerufen werden. Es gab auch mal die Befehle aufgelistet in nem Blog. Das finde ich aber nicht mehr, bzw. die Seite die ich gesucht habe, gibt's nicht mehr.

Ich mach jetzt erstmal 2 Wochen Urlaub.  ;D Vielleicht bekomme ich danach auch mal das Heizungsthermostat, das ich noch bestellt habe. Dann wollte ich mir die Sache eh nochmal genauer ansehen und in fhem einbauen.

Man könnte auch den Weg über IFTTT gehen. Ich meine mal irgendwo was über IFTTT und fhem gelesen zu haben, finde es aber auf die Schnelle nicht.

Am besten wäre ja, wenn man sich direkt in den Funkverkehr zwischen Bridge und Thermostat einklinken könnte, aber ich habe keine Ahnung, über welches Protokoll da gefunkt wird.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Offline Dmitri

  • New Member
  • *
  • Beiträge: 3
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #41 am: 21 Oktober 2016, 17:26:51 »
Danke für Deine Antwort. Ich warte mal ein paar Wochen, bevor Du es versucht hast ;)
Und wenn es geht, werde ich mir auch das Teil zulegen. Das Design ist hat ganz cool :)

Offline Steeeve

  • Full Member
  • ***
  • Beiträge: 161
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #42 am: 27 Oktober 2016, 16:21:20 »
Hallo!
Habe heute meine ELV FHT80 Heizung gegen ein Tado System ausgetauscht - schon wirklich sehr gut, vor allem sind die Heizungsthermostate leiser und die Batterien sollen auch viel länger halten, das wird sich ja noch herausstellen.

Ich habe auch mal versucht das httpmod einzubinden, so wie das hier gezeigt wurde, aber irgendwie fehlen mir da Daten. Ich habe in Tado 3 Räume definiert mit 5 Hizkörperthermostaten, einem Smart Thermostat und eine Extension für die Therme. Aktuell wird dort leider nur das angezeigt:

{"success":true,"operation":"HOME","preheating":false,"preheatingTargetOperation":null,
"autoOperation":"HOME","operationTrigger":"SYSTEM","insideTemp":18.66,"setPointTemp":18,
"controlPhase":"COOLDOWN","currentUserPrivacyEnabled":false,"currentUserGeoStale":null,
"deviceUpdating":false,"homeId":xxxxx,"heatingOn":false,"internetGatewayType":"IB01",
"internetGatewayConnected":true,"heatingMuscleType":"BU01","heatingMuscleConnected":true,
"insideTemperatureSensorType":"VA01","insideTemperatureSensorConnected":true,
"settingsEnabled":true,"fallbackOperation":false,
"helpUrl":"https://support.tado.com/hc/","pendingDeviceInstallation":false}

Somit sehe ich da keine chance, auf die einzelnen Räume zuzugreifen, oder was meint ihr?

Übrigens hab ich auf der Homepage von Tado gelesen, dass ein offizielle API kommen soll.

Und weil ich auch gerade darüber gestoßen bin: http://blog.scphillips.com/posts/2016/01/the-tado-api/ der hat da schon einiges dokumentiert, allerdings funktioniert dort der login nicht (bekomme schon beim ersten Aufruf einen Login Error

Schöne Grüße
Steeeve

Offline linuxq

  • Jr. Member
  • **
  • Beiträge: 58
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #43 am: 08 Februar 2017, 23:43:18 »
Hallo,

kann mir jemand helfen, wie ich die Temperatur (temp_tado:tempist) in der TabletUI in einem Label dargestellt bekomme? (https://wiki.fhem.de/wiki/FHEM_Tablet_UI#Beispiel_label)

Das Beispiel ist z.B. folgendes:
<div data-type="label" data-device="THSensorWZ"
     data-part="2" data-unit="%B0C%0A" class="cell big"></div>
<div data-type="label" class="cell">Temperatur</div>

Danke für Tips.

Offline mahowi

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 866
Antw:tado.com in FHEM integrieren
« Antwort #44 am: 07 März 2017, 19:23:01 »
Ich habe es zwar immer noch nicht eingerichtet, daß ich die Solltemperatur über FHEM einstellen kann, aber ich habe jetzt mal den Abruf der Daten an das (nicht mehr ganz so) neue HTTPMOD angepaßt.

Eine sehr gute Beschreibung der derzeitigen API v2 findet sich in Stephen C Phillips' blog. Mit Hilfe seiner Beschreibung habe ich auch den Login mit Access Token eingerichtet.

Hier erstmal die Definition mit allen Attributen:
define tado HTTPMOD https://my.tado.com/api/v2/me 300
attr tado enableControlSet 1
attr tado extractAllJSON 0
attr tado get01ExtractAllJSON 0
attr tado get01Name data
attr tado get01Poll 1
attr tado get01URL https://my.tado.com/api/v2/homes/%homeid%/zones/1/state
attr tado getHeader1 Authorization: Bearer $sid
attr tado httpVersion 1.1
attr tado reAuthJSON errors_01_code
attr tado reAuthRegex unauthorized
attr tado reading01JSON homes_01_id
attr tado reading01Name homeid
attr tado reading02JSON setting_temperature_celsius
attr tado reading02Name tempsoll
attr tado reading03JSON sensorDataPoints_insideTemperature_celsius
attr tado reading03Name temperature
attr tado reading04JSON sensorDataPoints_humidity_percentage
attr tado reading04Name humidity
attr tado reading05JSON tadoMode
attr tado reading05Name mode
attr tado reading05OMap HOME:present, AWAY:absent
attr tado replacement01Mode key
attr tado replacement01Regex %password%
attr tado replacement01Value password
attr tado replacement02Mode key
attr tado replacement02Regex %user%
attr tado replacement02Value user
attr tado replacement03Mode reading
attr tado replacement03Regex %homeid%
attr tado replacement03Value homeid
attr tado requestHeader1 Authorization: Bearer $sid
attr tado sid1Data client_id=tado-web-app&grant_type=password&password=%password%&scope=home.user&client_secret=wZaRN7rpjn3FoNyF5IFuxg9uMzYJcvOoQ8QWiIqS3hfk6gLhVlG57j5YNoZL2Rtc&username=%user%
attr tado sid1IdJSON access_token
attr tado sid1URL https://my.tado.com/oauth/token
attr tado stateFormat Soll: tempsoll Ist: temperature

Dazu müssen noch mit set tado storeKeyValue password meinPaßwort
set tado storeKeyValue user meine@email.adresse
Username und Paßwort hinterlegt werden. So stehen sie nicht offen lesbar in der Config.

Damit wird das Device tado mit den Readings homeid (ID der Installation), temperature (Ist-Temperatur), tempsoll (Soll-Temperatur), humidity (Luftfeuchtigkeit) und mode (HOME=present, AWAY=absent analog zu Presence) angelegt.

Für weitere Zonen (also evtl. vorhandene Thermostate) das Device einfach auf anderen Namen kopieren und im Attribut get01URL die Zonennummer ändern, also z.B. "https://my.tado.com/api/v2/homes/%homeid%/zones/2/state".

Ich habe es leider nicht hinbekommen, die verschiedenen Zonen in einem Device mit get02URL, ... unterzubringen, da das zurückgegebene JSON identisch ist und sich die Readings überschreiben. Wenn jemand weiß, wie ich das hinbekomme, bin ich für Tipps dankbar.  :)

Edit: sid1Data angepaßt an neues Login-Verfahren.
« Letzte Änderung: 16 Juni 2017, 11:02:39 von mahowi »
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee
Gefällt mir Gefällt mir x 2 Liste anzeigen

Offline darthi

  • New Member
  • *
  • Beiträge: 30
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #45 am: 13 Juni 2017, 20:01:05 »
Kann das sein, dass tado die Api geändert hat? Seit gestern wird meine Temperatur in FHEM nicht mehr aktualisiert.
Bekomme folgenden Fehler:
HTTP/1.1 401 Unauthorized
« Letzte Änderung: 13 Juni 2017, 20:04:11 von darthi »

Offline mahowi

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 866
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #46 am: 13 Juni 2017, 20:05:12 »
Geht mir auch seit gestern Nachmittag so.  :-\

Es scheint sich zumindest was am Login geändert zu haben. Wenn ich das Token Wie in Stephens Blog beschrieben mit curl abrufe kommt die Fehlermeldung {"error":"invalid_grant","error_description":"A client must have at least one authorized grant type."}
« Letzte Änderung: 13 Juni 2017, 21:08:38 von mahowi »
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Offline mahowi

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 866
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #47 am: 15 Juni 2017, 13:33:13 »
Es gibt jetzt einen zusätzlichen Secret Key. Eventuell findet sich hier die Lösung: https://github.com/wmalgadey/PyTado/issues/1

Leider komme ich momentan nicht zum Testen.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Offline mahowi

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 866
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #48 am: 16 Juni 2017, 11:01:01 »
So, es läuft wieder.  :)
Die client_id hat sich geändert und client_secret ist hinzugekommen. sid1_Data ändert sich also so:
client_id=tado-web-app&grant_type=password&password=%password%&scope=home.user&client_secret=wZaRN7rpjn3FoNyF5IFuxg9uMzYJcvOoQ8QWiIqS3hfk6gLhVlG57j5YNoZL2Rtc&username=%user%
Ich habe meinen Post auf der vorigen Seite entsprechend angepasst.
« Letzte Änderung: 16 Juni 2017, 11:10:16 von mahowi »
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Offline darthi

  • New Member
  • *
  • Beiträge: 30
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #49 am: 17 Juni 2017, 00:01:45 »
Hey vielen Dank!
Werde ich gleich mal ausprobiieren.

Offline DaRealDan

  • New Member
  • *
  • Beiträge: 7
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #50 am: 30 Juni 2017, 20:05:49 »
Für alle vielleicht zur Info, habe folgende E-Mail heute von tado bekommen - ungefragt und ohne Vorwarnung. Man scheint also zu tracken wer die API nutzt.

Zitat
Stefan Gaß (tado° Help Center)

30. Juni, 13:56 CEST

Hello,

we have noticed that you are using tado° API. Even though it is not officially supported by us yet, we wanted to inform you about some upcoming breaking changes.

As you might already know, our APIs are authenticated by OAuth 2. We have recently migrated our own apps to new client credentials which uses client secret and we plan to discontinue the old credentials during next week.

Please make sure you migrate your API usages to this client credentials:

Client ID: public-api-preview
Client Secret: 4HJGRffVR8xb3XdEUQpjgZ1VplJi6Xgw

Also feel free to share these credentials with other developers. That way we will be able to easily distinguish our own apps from third party developers and make sure that the official public API will suit your needs.

Best regards,
Michal
Head of Server Development

tado°
Gefällt mir Gefällt mir x 1 Hilfreich Hilfreich x 1 Liste anzeigen

Offline darthi

  • New Member
  • *
  • Beiträge: 30
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #51 am: 19 Juli 2017, 17:48:02 »
Heute Vormittag wurde anscheinend das alte Loginverfahren abgeschaltet. Mit der von DaRealDan geteilten Client ID und der Secret funktioniert es wieder.

Vielen Dank dafür!

Offline th3nemy

  • Newbie
  • Beiträge: 2
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #52 am: 08 September 2017, 11:15:33 »
Hallo zusammen,

zunächst einmal vielen Dank für die skripte und den geposteten api infos in diesem Thread. Hat auf Anhieb super funktioniert leider nur für ein Device.

Ich bin gerade dabei mehrere Tado Thermostate in Fhem einzubinden. Sobald ich jedoch mehrere Devices anlege die NICHT "Tado" heißen also bspw.  "Tado1" bekomme ich keine Werte mehr. Das mag auch ein wenig meiner Unwissenheit vom HTTPMOD geschuldet sein, gebe ich ehrlich zu.

Zum testen habe ich quasi 3 Geräte angelegt (tado, tado1, tado3) mit jeweils dem gleichen Code. Lediglich mit dem Unterschied des Namens und der Zonennummer --> Hinweis von mahowi

Für weitere Zonen (also evtl. vorhandene Thermostate) das Device einfach auf anderen Namen kopieren und im Attribut get01URL die Zonennummer ändern, also z.B. "https://my.tado.com/api/v2/homes/%homeid%/zones/2/state".

tado hat die Zonennummer 1 in get01URL
tado1 hat ebenfalls die Zonennummer 1 get01URL
tado3 hat die Zimmernummer 3 in get01URL

Ich habe auch alle vorhandenen Zonen getestet 1-5 und die funktionieren problemlos mit "tado"

Log file sagt folgendes
2017.09.08 11:01:54 3: tado1: Read response to update didn't match any Reading
2017.09.08 11:01:54 3: tado1: Read response to get01 didn't match any Reading
2017.09.08 11:02:38 3: tado3: Read response to update didn't match any Reading
2017.09.08 11:02:38 3: tado3: Read response to get01 didn't match any Reading

An welcher Stelle bzw. welches Attr nutzt ebenfalls den Devicenamen "tado"?

folgender code funktioniert
define tado HTTPMOD https://my.tado.com/api/v2/me 300
attr tado enableControlSet 1
attr tado extractAllJSON 0
attr tado get01ExtractAllJSON 0
attr tado get01Name data
attr tado get01Poll 1
attr tado get01URL https://my.tado.com/api/v2/homes/%homeid%/zones/4/state
attr tado getHeader1 Authorization: Bearer $sid
attr tado httpVersion 1.1
attr tado reAuthJSON errors_01_code
attr tado reAuthRegex unauthorized
attr tado reading01JSON homes_01_id
attr tado reading01Name homeid
attr tado reading02JSON setting_temperature_celsius
attr tado reading02Name tempsoll
attr tado reading03JSON sensorDataPoints_insideTemperature_celsius
attr tado reading03Name temperature
attr tado reading04JSON sensorDataPoints_humidity_percentage
attr tado reading04Name humidity
attr tado reading05JSON tadoMode
attr tado reading05Name mode
attr tado reading05OMap HOME:present, AWAY:absent
attr tado replacement01Mode key
attr tado replacement01Regex %password%
attr tado replacement01Value password
attr tado replacement02Mode key
attr tado replacement02Regex %user%
attr tado replacement02Value user
attr tado replacement03Mode reading
attr tado replacement03Regex %homeid%
attr tado replacement03Value homeid
attr tado requestHeader1 Authorization: Bearer $sid
attr tado room 01_EG_dummyroom
attr tado sid1Data client_id=public-api-preview&grant_type=password&password=%password%&scope=home.user&client_secret=4HJGRffVR8xb3XdEUQpjgZ1VplJi6Xgw&username=%user%
attr tado sid1IdJSON access_token
attr tado sid1URL https://my.tado.com/oauth/token
attr tado stateFormat Soll: tempsoll Ist: temperature

Ich bedanke mich für jeden Hinweis oder Seitenhieb ;-)


Offline mahowi

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 866
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #53 am: 08 September 2017, 12:10:38 »
Ich habe bei mir 2 Zonen definiert, die auch getrennt funktionieren. Zeig mal bitte jeweils ein list Deiner 3 Geräte.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Offline th3nemy

  • Newbie
  • Beiträge: 2
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #54 am: 08 September 2017, 13:08:11 »
Ich habe meinen Fehler entdeckt kurz nachdem ich hier alles gepostet habe.
Es müssen natürlich noch die storeKeyValue´s für user und password für die neuen Geräte gesetzt werden.
Sorry -.-

Jetzt funktionieren alle meine Tado´s in FHEM :-)

Offline mahowi

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 866
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #55 am: 08 September 2017, 13:20:51 »
 :D Schön, daß es jetzt klappt.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Offline droizenberg

  • Newbie
  • Beiträge: 2
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #56 am: 20 September 2017, 21:54:10 »
Hallo,

ich habe nach eurer Anleitung alles eingerichtet. Vielen Dank schonmal dafür. Aber leider bekomme ich folgende Meldung zurück:

HTTP/1.1 401 Unauthorized Date: Wed, 20 Sep 2017 19:48:51 GM

Wenn ich aber auf der Konsole im raspberry Date eingebe bekomme ich die korrekte Zeit. Die Zeit aus der Fehlermeldung ist 2 Stunden zurück.

Habt ihr einen Hinweis für mich?

Beste Grüße
Stephan

Offline mahowi

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 866
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #57 am: 20 September 2017, 22:02:49 »
Die Fehlermeldung hat nix mit dem Datum zu tun. Das ist nur die  Zeit in GMT, wann der Fehler aufgetreten ist.

Hast Du User und Password angegeben? Unauthorized heißt, daß die Login-Daten nicht stimmen.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Offline droizenberg

  • Newbie
  • Beiträge: 2
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #58 am: 20 September 2017, 22:19:00 »
ah okay, hab ich im falschen Zusammenanhang gesehen.

Ich hab den Fehler gefunden. Im Post über mir steht das die Credentials im Post angepasst wurden. Wurden die aber nicht. hab ich übersehen. Jetzt ist alles prima. Danke für die Hilfe.
« Letzte Änderung: 20 September 2017, 22:21:51 von droizenberg »

Offline mahowi

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 866
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #59 am: 20 September 2017, 22:30:12 »
Bei mir läuft noch alles, an der API hat sich also wohl nichts geändert.

Hier mal die Definition meines Thermostats:
defmod wz.tado HTTPMOD https://my.tado.com/api/v2/me 300
attr wz.tado userattr get01ExtractAllJSON:0,1 get01Name get01Poll:0,1 get01URL getHeader1 reading01JSON reading01Name reading02JSON reading02Name reading03JSON reading03Name reading04JSON reading04Name replacement01Mode:reading,internal,text,expression,key replacement01Regex replacement01Value replacement02Mode:reading,internal,text,expression,key replacement02Regex replacement02Value replacement03Mode:reading,internal,text,expression,key replacement03Regex replacement03Value requestHeader1 sid1Data sid1IdJSON sid1URL
attr wz.tado alias Thermostat WZ Wiese
attr wz.tado enableControlSet 1
attr wz.tado extractAllJSON 0
attr wz.tado get01ExtractAllJSON 0
attr wz.tado get01Name data
attr wz.tado get01Poll 1
attr wz.tado get01URL https://my.tado.com/api/v2/homes/%homeid%/zones/2/state
attr wz.tado getHeader1 Authorization: Bearer $sid
attr wz.tado group Heizung
attr wz.tado httpVersion 1.1
attr wz.tado icon max_heizungsthermostat_basic
attr wz.tado reAuthJSON errors_01_code
attr wz.tado reAuthRegex unauthorized
attr wz.tado reading01JSON homes_01_id
attr wz.tado reading01Name homeid
attr wz.tado reading02JSON setting_temperature_celsius
attr wz.tado reading02Name tempsoll
attr wz.tado reading03JSON sensorDataPoints_insideTemperature_celsius
attr wz.tado reading03Name temperature
attr wz.tado reading04JSON sensorDataPoints_humidity_percentage
attr wz.tado reading04Name humidity
attr wz.tado replacement01Mode key
attr wz.tado replacement01Regex %password%
attr wz.tado replacement01Value password
attr wz.tado replacement02Mode key
attr wz.tado replacement02Regex %user%
attr wz.tado replacement02Value user
attr wz.tado replacement03Mode reading
attr wz.tado replacement03Regex %homeid%
attr wz.tado replacement03Value homeid
attr wz.tado requestHeader1 Authorization: Bearer $sid
attr wz.tado room Wohnzimmer
attr wz.tado sid1Data client_id=public-api-preview&grant_type=password&password=%password%&scope=home.user&client_secret=4HJGRffVR8xb3XdEUQpjgZ1VplJi6Xgw&username=%user%
attr wz.tado sid1IdJSON access_token
attr wz.tado sid1URL https://my.tado.com/oauth/token
attr wz.tado stateFormat Soll: tempsoll Ist: temperature

Mit set wz.tado storeKeyValue user Username
set wz.tado storeKeyValue password Paßwort
habe ich Username und Paßwort gespeichert.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Offline darthi

  • New Member
  • *
  • Beiträge: 30
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #60 am: 02 Oktober 2017, 13:13:24 »
Jetzt, wo die Heizsaison wieder losgeht, wollte ich Mal in die Runde fragen, ob irgendjemand herausbekommen hat, ob sich die die Tado Thermostate über die "neue" API nicht nur auslesen, sondern auch steuern lassen?

Weil dann würde ich die Heizung gerne auch über FHEM soweit regeln, dass ich sie darüber ausschalten und auf Automatik stellen kann. So bin ich von den programmierten Zeiten völlig unabhängig (würde sie an meine Rollläden Schalter koppeln) und sie würde nicht - wie heute am Brückentag - viel zu früh losbollern und mir beim Aufstehen einen dicken Kopf verursachen. :)

Offline mahowi

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 866
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #61 am: 02 Oktober 2017, 13:21:57 »
Prinzipiell sollte das gehen. Guck Dir mal den Abschnitt /api/v2/homes/<homeID>/zones/<zoneID>/overlay auf The Tado API v2 an.

Leider gibt es immer noch keine offizielle Beschreibung der API von tado°.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Offline darthi

  • New Member
  • *
  • Beiträge: 30
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #62 am: 02 Oktober 2017, 15:01:31 »
Danke für den Tipp!

Ich glaube aber, ich habe es einfach nicht drauf  :-X

Habe es nun erstmal hiermit versucht:

attr tado set01Data {"setting":{"type":"HEATING","power":"ON","temperature":{"celsius":$val}},"termination":{"type":"MANUAL"}}
attr tado set01Name Manuell
attr tado set01URL https://my.tado.com/api/v2/homes/%homeid%/zones/1/overlay
attr tado setHeader1 Authorization: Bearer $sid

Bekomme als Response aber nur ein Forbidden. Ich denke das liegt daran, dass es nicht als "--data-binary" Argument mitgegeben wird und ich nicht weiß, wie ich den zweiten "Content-Type"-Header definieren kann.
Wenn sich das jemand von euch mal anschauen könnte, wäre ich super dankbar! :)

Vielleicht habe ich auch einen kompletten Denkfehler.

Außerdem habe ich auch keine Ahnung, wie ich über HTTPMOD den "DELETE" Befehl ausführen soll.

Danke für eure Hilfe!

Offline BeJott

  • Newbie
  • Beiträge: 1
Antw:tado.com in FHEM integrieren (Problem HTTPMOD)
« Antwort #63 am: 06 Oktober 2017, 11:42:18 »
Hallo zusammen,

ich versuche gerade, eure Beispiele in meinem FHEM Server einzuspielen...

Gibt es eine Möglichkeit, den von euch genannten Code als komplette Liste in FHEM zu laden? Ich würde nur ungerne diese Menge an Attributen manuell zum Device hinzufügen.

Entschuldigt diese wahrscheinlich absolute Neulings-Frage!

Gruß,
Thomas