tado.com in FHEM integrieren (Problem HTTPMOD)

Begonnen von linuxq, 19 März 2014, 12:17:33

Vorheriges Thema - Nächstes Thema

Sillec

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

mahowi

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

Sorry bin noch ein absoluter Anfänger was FHEM betrifft. Wie muss ich denn dann den Logproxy einrichten?

mahowi

define lp logProxy
Am 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

Borkk

#34
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
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

Diggewuff

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. :-\

mahowi

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

Borkk

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
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

mahowi

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

Dmitri

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.)

mahowi

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

Dmitri

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 :)

Steeeve

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

linuxq

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.

mahowi

#44
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.
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