Neues Modul: Tado Heizungssystem

Begonnen von strategy, 28 Januar 2019, 21:40:08

Vorheriges Thema - Nächstes Thema

strategy

Zitat von: Karflyer am 16 Februar 2021, 20:53:07
Hallo Matthias,

ich habe heute von tado eine Email mit folgendem Inhalt erhalten:Ich glaube da droht uns Ungemach. Wenn die Anzahl der 'polls' eingeschränkt wird, ist möglicherweise die Verwendung mit fhem nur noch eingeschränkt bis unbrauchbar möglich. Hast du (ihr) auch eine solche EMail erhalten? Ohne Änderung pollt dein Modul ja jede Minute. Welches Intervall hast du persönlich eingestellt?

Grüße
Stefan


Ouch!
Nein ich habe keine solche Mail bekommen. Aber was ja nicht ist kann ja leider noch kommen.
Leider bekomme ich es in letzter Zeit häufig mit solchen Themen zu tun - auch in meinem beruflichen Alltag.
Die Anbieter rennen alle in die Cloud ohne die Kosten im Blick, geschweige denn im Griff zu haben und der Ausweg ist dann häufig eine Reduzierung der Leistung.
Bei Tado war in der V2 ja auch noch die Anwesenheitserkennung ein kostenloses Feature. Jetzt wird es dir als Fancy-Mehrwertdienst verkauft.

Ich arbeite aktuell mit den 60 Sekunden. Allerdings benutze ich Tado nur im Erdgeschoss in Verbindung mit meiner Fußbodenheizung.
Sind also lediglich 3 Räume, da hält sich der Traffic vermutlich in Grenzen. Zudem ist die Heizung so träge, dass mir auch eine Erhähung des Intervalls nichts ausmachen würde.
Aber warten wir mal ab was da kommt.

Du kannst denen ja mal schreiben, dass Du FHEM nutzt. Mal sehen was deren Feedback ist.


PS: Hab gerade mal geschaut: Wenn man die Webseite offen hat, fragt die Page alle 20 Sekunden die Werte ab ;-)

strategy

Hallo Christian,

jetzt zum Thema "Klimaanlagen-Steuerung".
Das Problem ist, dass die Klimaanlage andere Steuerbefehle bzw. Inhalte in den Nachrichten hat als die Heizung.
Daher brauche ich die passenden Informationen. Das geht aber mit ein wenig technischem Sachverstand - und den muss man bei FHEM wohl mibringen ;-) - recht einfach.

Es muss die Kommunikation zwischen dem Webbrowser und dem Tado Server ausgewertet werden.
Ich mach das in der Regel in Chrome.

1. Browser öffnen
2. Auf "https://my.tado.com/" anmelden.
3. Die sogenannten Entwicklertools starten (Auf dem Mac Anzeigen -> Entwickler -> Entwicklertools / unter windows vermutlich ähnlich)
    Damit sollte sich der halbe Bildschirm mit wilden Informationen füllen. Hier klickst du auf Network. Dann siehst du alle Nachrichten die zwischen Webseite und Server ausgetauscht werden.
4. Auf die Kachel für die Klimaanlage klicken
5. Damit sollte jetzt in den Entwicklertools ein Nachrichtenaustausch stattfinden und mindestens eine Nachricht mit der Bezeichnung "state" geschickt werden.
    Die Request Method sollte GET sein und die URL so oder ähnlich: "https://my.tado.com/api/v2/homes/<homeID>/zones/<ZoneId>/state". Sollte die Zone der Klimaanlage sein.
6. Hier brauche ich die Informationen vom Response Reiter. Daraus erzeuge ich die Readings und muss die Readings der Klima-Steuerung mit den vorhandenen Readings abgleichen.
7. Jetzt änderst du die verschiedenen Einstellungen (bei mir ist das nur die Temperatur, aber ich vermute die Klimanalage hat mehrere Einstellungen wie Kühlen, Heizen, Lüftersteuerung, ...).
    Jede Änderung triggert dann wiederum eine Nachricht. Bei der Heizungssteuerung ist das z.B. overlay, kann aber bei der Klimaanlage komplett anders sein. Diese Nachrichten sind von Typ PUT, das bedeutet du sendest nicht nur die URL sondern auch Daten.
    In dem Fall brauche ich die Daten - die finden sich unter Payload - bevorzugt im Raw-Format. Also unformatiert.
    Und auch hier brauche ich die Response um auszuwerten was da zurück kommt.

Auf Basis der Informationen kann ich dann "blind" die Klimaanlage umsetzen und Du musst dann fleißig testen...

Hier noch ein paar Screenshots von den benötigten Informationen.



Gruß,
Matthias

Chris8888

Zitat von: strategy am 16 Februar 2021, 23:51:39
Hallo Christian,

jetzt zum Thema "Klimaanlagen-Steuerung".
Das Problem ist, dass die Klimaanlage andere Steuerbefehle bzw. Inhalte in den Nachrichten hat als die Heizung.
Daher brauche ich die passenden Informationen. Das geht aber mit ein wenig technischem Sachverstand - und den muss man bei FHEM wohl mibringen ;-) - recht einfach.

Es muss die Kommunikation zwischen dem Webbrowser und dem Tado Server ausgewertet werden.
Ich mach das in der Regel in Chrome.

1. Browser öffnen
2. Auf "https://my.tado.com/" anmelden.
3. Die sogenannten Entwicklertools starten (Auf dem Mac Anzeigen -> Entwickler -> Entwicklertools / unter windows vermutlich ähnlich)
    Damit sollte sich der halbe Bildschirm mit wilden Informationen füllen. Hier klickst du auf Network. Dann siehst du alle Nachrichten die zwischen Webseite und Server ausgetauscht werden.
4. Auf die Kachel für die Klimaanlage klicken
5. Damit sollte jetzt in den Entwicklertools ein Nachrichtenaustausch stattfinden und mindestens eine Nachricht mit der Bezeichnung "state" geschickt werden.
    Die Request Method sollte GET sein und die URL so oder ähnlich: "https://my.tado.com/api/v2/homes/<homeID>/zones/<ZoneId>/state". Sollte die Zone der Klimaanlage sein.
6. Hier brauche ich die Informationen vom Response Reiter. Daraus erzeuge ich die Readings und muss die Readings der Klima-Steuerung mit den vorhandenen Readings abgleichen.
7. Jetzt änderst du die verschiedenen Einstellungen (bei mir ist das nur die Temperatur, aber ich vermute die Klimanalage hat mehrere Einstellungen wie Kühlen, Heizen, Lüftersteuerung, ...).
    Jede Änderung triggert dann wiederum eine Nachricht. Bei der Heizungssteuerung ist das z.B. overlay, kann aber bei der Klimaanlage komplett anders sein. Diese Nachrichten sind von Typ PUT, das bedeutet du sendest nicht nur die URL sondern auch Daten.
    In dem Fall brauche ich die Daten - die finden sich unter Payload - bevorzugt im Raw-Format. Also unformatiert.
    Und auch hier brauche ich die Response um auszuwerten was da zurück kommt.

Auf Basis der Informationen kann ich dann "blind" die Klimaanlage umsetzen und Du musst dann fleißig testen...

Hier noch ein paar Screenshots von den benötigten Informationen.



Gruß,
Matthias

Hallo Mattias,

dann versuchen wir es. Du hast eine PM.

Viele Grüße
Christian
FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

psycho160

#213
Zitat von: Karflyer am 16 Februar 2021, 20:53:07
Hallo Matthias,

ich habe heute von tado eine Email mit folgendem Inhalt erhalten:Ich glaube da droht uns Ungemach. Wenn die Anzahl der 'polls' eingeschränkt wird, ist möglicherweise die Verwendung mit fhem nur noch eingeschränkt bis unbrauchbar möglich. Hast du (ihr) auch eine solche EMail erhalten? Ohne Änderung pollt dein Modul ja jede Minute. Welches Intervall hast du persönlich eingestellt?

Grüße
Stefan

Also wenn die das API wirklich abdrehen fliegt bei mir die ganze tado Installation aus der Bude raus. (vielleicht lesen die ja auch hier mit ^^)
Hab aber ca. 7 Zonen & Thermostate und bis jetzt noch keine Mail erhalten. Aber ich nutze ja auch das andere Modul. Eventuell kannst du in deinem Tado-Modul die Requests noch etwas bündeln oder reduzieren. Weiß auch nicht nach was die das bemessen.

Bleibt nur zu hoffen

EDIT, weil ich grad so grantig bin: Wenn tado seine Bridge nicht komplett abschotten würde und als "black box" verkauft, dann müsste die Community auch nicht das dumme tado-API mit Anfragen quälen... Waaaaaa
Dann würde das komplette tado-System lokal im Netzwerk funktionieren, auch ohne Internet. Win - win für beide Seiten. Wäre da nicht die Geldgier...
- 2013@FHEM - 2020 Setup: Pi 4 4GB Systeme: Shelly, Tasmota, Zigbee und mittlerweile nur noch wenig Homematic. Entwicker von: tado-FHEM Modul (perlcritic 3 ^^)(https://git.wolfmajer.at/Public/FHEM-Tado)

strategy

Hallo Christian,

ich habe jetzt mal angefangen "blind" die Klimaanlage umzusetzen.
Im Repository gibt es jetzt einen Branch in dem ich die Änderungen einbringe: https://github.com/MrStrategy/FHEM-Tado/tree/aircondition

Du kannst Dir den Code zum Testen schon mal runterladen und müsstest dann aber die Zone mit der Klimaanlage löschen und über ein "get zones" neu einlesen.
Der Subtype sollte dann "air_conditioning" sein (wenn du die Heizungen löscht, sollten die auch statt des SubType Zone zukünftig SubType heating bekommen)
Beim Update solltest du jetzt readings für den mode und den fanspeed bekommen und es sollten auch Werte drin stehen.
Auch sollte es schon neue Set-Befehle geben, allerdings noch ohne Funktion...

Kannst du mir ein Feedback geben, was für Set Befehle du noch benötigst?

Danke,
Matthias

Chris8888

Hallo Matthias,

die Anlage hat funktioniert wie du es beschrieben hast. Im Log sieht es soweit gut aus (auf Verbose 2).

Allerdings werden die Readings nach kurzer Zeit durcheinander geworfen:

airconditioning_mode MIDDLE
fanSpeed COOL


Was brauche ich?
Mich würden

  • die 4 Modi (Cool, Fan, Dry, Auto) interessieren. (Heizen habe ich in der Tado-Konfig nicht angegeben, obwohl die Anlage das könnte)
    die Einstellung der Ventilation
    ein/aus
Den inteligenten Zeitplan nutze ich nicht.

Viele Grüße
Christian

FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

strategy

Hallo Christian,

du kannst einen neuen Versuch unternehmen.


  • Ich hab das Problem mit dem vertauschten Mode / Fan gelöst.
  • Du solltest jetzt auch die Set commands ausführen können

Wenn da etwas nicht funktioniert, schick mir bitte eine Fehlerbeschreibung und ein Auszug aus dem Logging mit maximaler verbosity.

Gruß,
Matthias

Chris8888

#217
Hi,
mache ich kurzfristig. Welches Gerät sollen ich loggen? Das Klimadevice oder die Bridge?

VG
Christian

Update:
set klima automatic -> schaltet ein
set klima fanSpeed auto (l/m/h) -> da kommt nur ein Hinweis Fenster über diverse Optionen
set klima mode cool (und alle anderen): Fehlermeldung: Unknown argument mode, choose one of automatic off temperature fanSpeed mode swing
set klima off -> schaltet aus
set klima temperature 23 -> es passiert nichts

Im Log habe ich mit Verbose 5 auf dem Klimadevice keinerlei Einträge.

FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

strategy

Gern beides.
Das wichtiges ist die Bridge, denn die sendet die Nachrichten...

strategy

Hallo Christian,

dann darfst du nochmal Dein Glück versuchen.
Aus Deinen Logs habe ich entnommen, dass der Aufruf von Off schon funktioniert.
Bei den anderen Aufrufen fehlten die Informationen zum Lüfter und zum Mode. Die habe ich jetzt ergänzt.
(Da ich die Informationen aus dem Reading nehme, müssen die Readings airconditioning_mode und fanSpeed mit Werten gefüllt sein. Also muss zumindest ein Update gelaufen sein, bevor du die Nachrichten absetzen kannst)

Kannst du bitte nochmal die folgenden Funktionen testen:
- Setzen einer Temperatur
- Setzen des mode (kann auch cool sein)
- Setzen des fanSpeed

Das sollte jetzt alles klappen.

Ich bin irgendwo beim Lesen darüber gestolpert, dass es auch ein Attribut "Swing" gibt. Vermutlich die Pendelbewegung der Lüfterklappen. Unterstützt Deine Klimaanlage das? Wenn ja, kannst du mir dazu noch Logs aus der Chrome Entwicklerconsole schicken?

Danke und Gruß,
Matthias

Chris8888

Hallo Matthias,

wir nähern uns. :-)
Setzen der Temperatur geht.
Setzen des Modes -> Fehlermeldung
Setzen des FanSpeeds -> Fehlermeldung

Das Log habe ich dir gesendet.

Und ja, meine Anlage kann "Swing". Und zwar sowohl li/re, als auch hoch/runter. In der Tado-App wird das aber nicht angeboten.

Viele Grüße
Christian

FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

strategy

Zitat von: psycho160 am 17 Februar 2021, 14:18:04
Also wenn die das API wirklich abdrehen fliegt bei mir die ganze tado Installation aus der Bude raus. (vielleicht lesen die ja auch hier mit ^^)
Hab aber ca. 7 Zonen & Thermostate und bis jetzt noch keine Mail erhalten. Aber ich nutze ja auch das andere Modul. Eventuell kannst du in deinem Tado-Modul die Requests noch etwas bündeln oder reduzieren. Weiß auch nicht nach was die das bemessen.

Bleibt nur zu hoffen

EDIT, weil ich grad so grantig bin: Wenn tado seine Bridge nicht komplett abschotten würde und als "black box" verkauft, dann müsste die Community auch nicht das dumme tado-API mit Anfragen quälen... Waaaaaa
Dann würde das komplette tado-System lokal im Netzwerk funktionieren, auch ohne Internet. Win - win für beide Seiten. Wäre da nicht die Geldgier...


Ich nutze Tado ja aktuell nur für die Fußbodenheizung und da ist nicht viel zu regeln und Anwesenheit ist aufgrund der Trägheit auch egal. Von daher ist die FHEM Integration für mich eher Spielerei. Aber ich gebe Dir recht: Einen Kaufgrund gibt es damit nicht mehr...

Was die lokale Funktionalität angeht: Ich fände es auch cool, wenn man die Steuerung der Thermostate ohne Cloud machen könnte. Aber ich glaube bei denen läuft ohne Cloud ohnehin nix. Wenn die mal den Dienst einstellen ist die Hardware nur noch teurer Elektroschrott...
Aber ich muss sagen, dass deren Heuristiken und Algorithmen und scheinbar auch das maschinelle Lernen schon nicht so schlecht sind. Ich betreue noch eine "brfreundete Installation" und da sind die klassischen Heizkörperthermostate installiert. Und mittels Cloud, vermutetem Sonnenstand und Wetterdaten bekommen die es schon recht gut hin die Soll-Temperatur zu erreichen und weder zu überheizen noch zu wenig zu tun...
Meine Homematic Komponenten kommen zwar ohne Cloud aus, aber die Steuerungslogik ist schon um einiges schlechter...

Gibt es denn inzwischen noch mehr Nutzer die eine entsprechende Nachricht von Tado bekommen haben?
Bei mir bisher nix...

Gruß,
Matthias

Karflyer

ZitatGibt es denn inzwischen noch mehr Nutzer die eine entsprechende Nachricht von Tado bekommen haben?
Bei mir bisher nix...

Gruß,
Matthias

Ich habe heute zu diesem Thema die folgende Nachricht von tado erhalten:

ZitatLieber tado° Kunde,

wir sind Ihnen sehr dankbar für die zur Verfügung gestellten Informationen bezüglich unserer API-Nutzung.

Wir empfehlen, die tado-API höchstens einmal alle 5 Minuten abzufragen. Das sollte ausreichen, um die Informationen über die Innentemperatur und Luftfeuchtigkeit zu erhalten, da diese sich nicht sehr schnell ändern.

Wie in der ersten E-Mail erwähnt, planen wir die Einführung einer Ratenbegrenzung, die Anfragen oberhalb der empfohlenen Rate blockieren würde. Wir wollten Ihnen eine Vorwarnung geben, damit Sie Zeit haben, Ihre Automatisierung anzupassen.

Bitte bedenken Sie, dass wir keine Verbindung zu Drittanbietern/Foren haben, die eine Kompatibilität mit unserer API entwickelt haben. Daher können wir keine spezifischen Informationen oder Fehlerbehebungen in den entsprechenden Themen anbieten.

Wenn diese Kommunikation weitere Fragen zum unterstützten tadoº-System aufgeworfen hat, bitten wir Sie, eine neue Support-Anfrage über www.tado.com zu eröffnen. Unser Team wird Ihnen gerne weiterhelfen.

Vielen Dank für Ihr Verständnis und dass Sie sich für tadoº entschieden haben.

Mit freundlichen Grüßen,

Ihr tado° Team

Grüße
Stefan

strategy

Hallo Stefan,

super das du nachgefragt hast.

Ich würde die Rückantwort zum Anlass nehmen den Default Wert gemäß der Empfehlung von Tado anzupassen und von einer auf 5 Minuten zu erhöhen.
Jetzt hab ich eine träge Fußbodenheizung, sodass ich mit der Aussage kein Problem habe. Wie seht Ihr das?

Wenn Tado von Begrenzungen spricht könnte ich mir auch folgendes vorstellen:

1. Abrufen der Zonen alle 5 Minuten und im Anschluss von "Set" Befehlen
2. Abrufen der Device Informationen alle 6 Stunden (wenn Devices aktiviert sind) - hier ist ja eigentlich nur das Battery Level interessant
3. Abrufen des Zustands von Mobile Devices jede Minute (wenn aktiviert) - darüber lässt sich ja Anwesenheit prüfen, da sind 5 Minuten vermutlich etwas wenig.

Wären alles Defaults und anpassbar.
Ich freu mich auf Feedback zu der Idee.

Gruß,
Matthias


Karflyer

ZitatWenn Tado von Begrenzungen spricht könnte ich mir auch folgendes vorstellen:

1. Abrufen der Zonen alle 5 Minuten und im Anschluss von "Set" Befehlen
2. Abrufen der Device Informationen alle 6 Stunden (wenn Devices aktiviert sind) - hier ist ja eigentlich nur das Battery Level interessant
3. Abrufen des Zustands von Mobile Devices jede Minute (wenn aktiviert) - darüber lässt sich ja Anwesenheit prüfen, da sind 5 Minuten vermutlich etwas wenig.

Wären alles Defaults und anpassbar.

Hallo Matthias,

deinen Ansatz finde ich gut. Das würde das Polling sinnvoll reduzieren. Nur bei dem Polling des Mobile Device bin ich nicht sicher ob tado diese hohe Frequenz zukünftig zulassen wird.
Ich stelle tado einfach die Frage, wie sie es sich vorstellen.

Grüße
Stefan