Hallo liebe Leute,
ich habe mal wieder was richtig tolles gefunden auf meiner Suche nach einer Lösung für die Tado Thermostate bzgl des "Fenster auf > Heizung aus" Problem.
Da ich die Tado Heizkörperthermostate verwende und eigtl mit der Tado App und der nativen HomeKit Unterstützung zufrieden bin, gibt es eine klitze kleine aber für mich dennoch wichtige Sache die mich stört.
Das Problem mit den Fenstern. Tado unterstütz ja das erkennen von offenen Fenstern und dabei das ausschalten von Heizungen bis zu 60min. Ich habe das soweit getestet und bin überhaupt nicht zufrieden mit der nativen Lösung da zumal das Erkennen über die Temperstursensoren läuft und nicht Fensterkontakte.
Und wenn ich mir eine eigene Automation erstelle mit (Wenn Fenster auf, dann Heizung aus) hatte ich das Problem das es auf "Manuell" geschalten wird und ich beim wieder schließen des Fenster selber auf "Automatik" schalten muss über die Tado App.
Und genau hier setzt meine Lösung an. Ich habe mir mal die Tado API angeguckt und man kann tatsächlich mit einem gaaanz einfachen cURL Befehl die "Manuelle" Steuerung rausnehmen und wieder auf Automatik setzen!
Ich verwende zum Ausführen der Befehle CMDSWITCH2 und habe mir sogar ein "State" Befehl mit eingebaut so das ich in der Apple Home App sehen kann ob die Heizung/Heizungen gerade auf Manuell geschalten sind oder auf Automatik laufen.
Lange Rede kurzer Sinn. Bevor wir anfangen müssen wir, falls ihr es ebenfalls mit CMDSWITCH2 lösen wollt, dieses auch installieren:
Und anschließend auch das JQ Tool installieren (wird später wegen der Status Anzeige gebraucht):
So jetzt hätten wir schonmal alles vorbereitet. Als nächstes müssen wir einige Daten ais der Tado API auslesen um später auch Änderungen setzen zu können. Zu allererst brauchen wir die homeID. Dafür einfach folgendes in Terminal eingeben:
Schritt 1:
curl -s 'https://my.tado.com/api/v2/me?password=*****&username=***@***.**' | jq -r '.homes[].id'
(Die Sternchen mit eigenen Daten Füllen!)
Als Output müsstet ihr eine Nummer gekriegt haben (das ist die Home ID), diesen notieren wir uns und machen weiter mit den "Zones"
Damit wir die Räume seperat steuern können brauchen wir die Zone ID. Das geht genauso einfach. Folgendes in Terminal tippen:
Schritt 2:
curl -s 'https://my.tado.com/api/v2/homes/HOMEID/zones?password=****&username=***@***.**' | jq '.[] | .id, .name'
(HOMEID mit der eigenen ersetzen aus Schritt 1! Und Sternchen mit eigenen Daten füllen!)
Hier kriegen wir als output sowohl die ZoneID als auch den dazugehörigen Raumnamen. Auch diese notieren wir uns!
Damit hätten wir alle Daten die wir zum Schalten von der Manuellen Steuern wieder zurück auf Automatik brauchen!
Jetzt kommt CMDSWITCH2 ins Spiel
https://github.com/luisiam/homebridge-cmdswitch2
Damit man alles besser nachvollziehen kann erstelle ich mal beispielhaft eine Switch. Folgende Parameter habe ich mir aus den obigen Schritten notiert:
Meine Config würde dann folgendermaßen aussehen:
"platforms": [
{
"platform": "cmdSwitch2",
"name": "CMD Switch",
"switches": [
{
"name" : "Wohnzimmer Manuell",
"on_cmd": "echo ''",
"off_cmd": "curl -X DELETE 'https://my.tado.com/api/v2/homes/123456/zones/15/overlay?password=***&username=***@***.**'",
"state_cmd":"curl -s 'https://my.tado.com/api/v2/homes/123456/zones/15/state?password=***&username=***@***.**' | jq '.overlayType' | grep 'MANUAL'",
"polling": true,
"interval": 1,
"timeout": 5
}
]
}
]
Alles anzeigen
Wie man der Config entnehmen kann hat mein "on_cmd" keine Funktion, da ich den Switch selber nie einschalte. Ich brauche nur die "State" Funktion um zu gucken ob gerade eine Heizung auf Manuell geschalten ist und natürlich die "off_cmd" Funktion um die Manuelle Steuerung auszuschalten.
Man kann natürlich auch mit anderen Sachen rumspielen, für mich war aber einzig allein das mit dem abschalten der Manuellen Steuerung wichtig.
Meine Automation sieht demnach so aus:
- Wenn Wohnzimmer Fenster auf - Dann Heizung aus (nach ausschalten geht die Heizung automatisch auf die Manuelle Steuerung über und unsere erstellte Switch geht automatisch auf 'ON')
- Wenn Wohnzimmer Fenster zu - Dann schalte Manuelle Steuerung wieder aus (Schaltet die erstellte Switch und somit die manuelle Steuerung wieder aus und die Heizung läuft wieder auf automatik)
Ich hoffe ich habe es leicht und verständlich erklärt und wenn dennoch Fragen aufkommen sollten einfach her damit
Ansonsten freut es mich wenn ich damit einigen helfen konnte.
Liebe Grüße,
SmartX