Autor Thema: Neues Modul: Tado Heizungssystem  (Gelesen 32071 mal)

Offline strategy

  • Jr. Member
  • **
  • Beiträge: 92
Antw:Neues Modul: Tado Heizungssystem
« Antwort #165 am: 17 Dezember 2019, 21:00:46 »
@Matthias

...

Wäre schön, wenn du die Änderungen bei deinem nächsten Update berücksichtigen würdest.

Gruß
Stefan

Hallo Stefan,

habe die Änderungen gerade in das Repository übernommen.
Das sind leider die Dinge die ich nicht testen kann, da ich nur einen kleinen Umfang der Tado Hardware im Einsatz habe. Daher bin ich bei solchen Sachen auf Euer Feedback angewiesen...

Dafür auch nochmal ein Lob: Ihr seid immer gut dabei die Dinge zu testen und mir Feedback zu geben.


Gruß,
Matthias

Offline strategy

  • Jr. Member
  • **
  • Beiträge: 92
Antw:Neues Modul: Tado Heizungssystem
« Antwort #166 am: 17 Dezember 2019, 21:05:51 »
Es ist so, dass einerseits die einzelnen Devices bei tado den Status "away" bekommen. Jede Zone hat darüber hinaus in der API einen "tadoMode", den man auslesen kann. Dieser steht entweder auf HOME oder AWAY. Gesetzt wird AWAY erst wenn alle angemeldeten Geräte aus dem Haus sind. Also das ist das event, bei dem tado dann auch die Heizung in den Away Modus setzt. Und soweit ich das sehe, werden alle Zonen gleichzeitig gesetzt. (Voraussetzung ist natürlich, dass die "Geo-Steuerung" für die Zone aktiviert ist. Sonst wird das wohl nicht passieren.)

Ich habe für mich eine kleine Erweiterung in das Modul gemacht, um diesen Wert aus der API in ein Reading zu bringen. Vielleicht kann ich dem Autor ja diese Änderung zukommen lassen und er baut sie ein.

Gruß Axel


Vielen Dank Axel,

vor allem für die fertigen Änderungen via PM.
Ich habe auch diese Änderungen übernommen und ins Repository eingestellt. Da ich die Anwesenheitssteuerung von Tado nicht nutze (Fußbodenheizung) hatte ich bisher auch nicht allzu viel Zeit und Muße in die Möglichkeiten investiert, die Tado hier offeriert. Daher steht bei mir aktuell in jeder Zone der Wert HOME. Sollte die Anpassung nicht funktionieren, gebt mir doch eine kurze Rückmeldung.

Die Änderung fügt jeder Zone / jedem Room ein neues Reading Tado-Mode hinzu...


Gruß,
Matthias

Offline Karflyer

  • Full Member
  • ***
  • Beiträge: 158
Antw:Neues Modul: Tado Heizungssystem
« Antwort #167 am: 18 Dezember 2019, 10:45:32 »
Hallo Matthias,

ich habe die aktuelle Version des Moduls gerade eingespielt. Dabei erhalte ich die gleiche Fehlermeldung die ich eigentlich schon korrigiert hatte. Ich habe geshen, dass du den korrigierten Block so nicht übernommen hast. Der Block beginnt in der Zeile 185 in der 98_TadoDevice.pm und müsste so aussehen:
if ($values[11] eq 'ONLINE'){
if ($values[8] ne 'OFF') {
if ($values[9] ne '') {
readingsSingleUpdate($hash, 'state', sprintf("T: %.1f °C desired: %.1f °C H: %.1f%%", $values[3], $values[8], $values[9]), 1);
} else {
    if ($values[3] ne '') {
                                          readingsSingleUpdate($hash, 'state', sprintf("T: %.1f °C desired: %.1f °C", $values[3], $values[8]), 1);
    } else {
                                        readingsSingleUpdate($hash, 'state', sprintf("desired: %.1f °C", $values[8]), 1);
    }
}
} else {
if ($values[9] ne '') {
   readingsSingleUpdate($hash, 'state', sprintf("T: %.1f °C desired: off H: %.1f%%", $values[3],  $values[9]), 1);
  } else {
   if ($values[3] ne '') {
readingsSingleUpdate($hash, 'state', sprintf("T: %.1f °C desired: off", $values[3]), 1);
   } else {
                                                 readingsSingleUpdate($hash, 'state', "desired: off", 1);
   }
}
}
} else {
readingsSingleUpdate($hash, 'state', "Device is in status '$values[11]'.", 1);
}

Zwei kleine 'Schönheitsfehler'.
In der Zeile 1013 der 98_Tado.pm ist der Loglevel mit '2' zu hoch für diese Meldung. Besser wäre '4':
log3 $name, 4, "$name: trying to dispatch message: $message";
In den Internals der Devices wird keine Versionsnummer der Module ausgegeben:
FVERSION 98_Tado.pm:?/2019-12-18
Gruß
Stefan

Offline dl7vea

  • New Member
  • *
  • Beiträge: 5
Antw:Neues Modul: Tado Heizungssystem
« Antwort #168 am: 18 Dezember 2019, 10:48:23 »
Hallo Matthias,

vielen Dank für das Einarbeiten der Änderungen. Ich habe die Module bei mir upgedated. Auf den ersten Blick sieht alles sehr gut aus. Ich werde es am heutigen Tage noch beobachten...

Viele Grüße

Axel.

Offline Karflyer

  • Full Member
  • ***
  • Beiträge: 158
Antw:Neues Modul: Tado Heizungssystem
« Antwort #169 am: 18 Dezember 2019, 18:50:10 »
Hallo Matthias,

wenn ich einen der Heizkörper manuell verstelle, habe ich die folgende Fehlermledung im Log (bei eingeschaltetem Stacktrace):
2019.12.18 18:36:41 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1274.
2019.12.18 18:36:41 1: stacktrace:
2019.12.18 18:36:41 1:     main::__ANON__                      called by ./FHEM/98_Tado.pm (1269)
2019.12.18 18:36:41 1:     (eval)                              called by ./FHEM/98_Tado.pm (1288)
2019.12.18 18:36:41 1:     main::Tado_UpdateZoneCallback       called by FHEM/HttpUtils.pm (634)
2019.12.18 18:36:41 1:     main::__ANON__                      called by fhem.pl (751)

In der Zeile 1269 des dazugehörigen Blocks heißt es:
if (not $d->{overlay}->{termination}->{type} eq 'MANUAL')
Ist das 'not' hier korrekt oder müsste es heißen:
if ($d->{overlay}->{termination}->{type} eq 'MANUAL')
Gruß
Stefan
« Letzte Änderung: 18 Dezember 2019, 20:04:10 von Karflyer »

Offline strategy

  • Jr. Member
  • **
  • Beiträge: 92
Antw:Neues Modul: Tado Heizungssystem
« Antwort #170 am: 18 Dezember 2019, 23:20:25 »
Hallo Stefan,

keine Ahnung was ich da fabriziert habe. Ich hoffe diesmal habe ich die Änderungen komplett übernommen..


In den Internals der Devices wird keine Versionsnummer der Module ausgegeben:
FVERSION 98_Tado.pm:?/2019-12-18

Hier musst du mir auf die Sprünge helfen. Was meinst du mit Versionsnummer?


Ich hab mir auch Dein anderes Problem angeschaut:


In der Zeile 1269 des dazugehörigen Blocks heißt es:
if (not $d->{overlay}->{termination}->{type} eq 'MANUAL')
Ist das 'not' hier korrekt oder müsste es heißen:
if ($d->{overlay}->{termination}->{type} eq 'MANUAL')

Das not ist in diesem Fall korrekt.
Wenn du die Heizung manuell einstellst bleibt die Einstellung dauerhaft erhalten und der termination type ist "MANUAL".
Setzt man die Einstellung dagegen mit einem Timer (als z.B. eine Stunde) steht im termination type der Wert "TIMER" und die übrigen 3 Attribute beschreiben den Timer.

Du hast ja vorher mit HTTPMOD gearbeitet. Daher kennst du ja die URLs und deren Zusammensetzung. vielleicht kannst du mir einen Beispiel-Request schicken den ich analysieren kann.

Bei mir sieht eine manuelle Schaltung am Heizungsregler so aus:
"termination": {
            "type": "MANUAL",
            "typeSkillBasedApp": "MANUAL",
            "projectedExpiry": null
        }

Wenn ich über die App mit Timer schalte sieht es so aus:
"termination": {
            "type": "TIMER",
            "typeSkillBasedApp": "TIMER",
            "durationInSeconds": 3600,
            "expiry": "2019-12-18T22:48:20Z",
            "remainingTimeInSeconds": 3307,
            "projectedExpiry": "2019-12-18T22:48:20Z"
        }

(Beides jeweils Auszüge aus dem kompletten JSON)

Ich hab allerdings nur Wandthermostate und keine Heizungsthermostate oder ähnliches.
Möglicherweise gibt es da andere Informationen...


Gruß,
Matthias
Kannst du mal den entsprechenden Call des Rest Services im Browser oder mit

Offline Karflyer

  • Full Member
  • ***
  • Beiträge: 158
Antw:Neues Modul: Tado Heizungssystem
« Antwort #171 am: 20 Dezember 2019, 19:38:13 »
Hallo Matthias,

Zitat
    In den Internals der Devices wird keine Versionsnummer der Module ausgegeben:
    Code: [Auswählen]

    FVERSION 98_Tado.pm:?/2019-12-18

Hier musst du mir auf die Sprünge helfen. Was meinst du mit Versionsnummer?

Hier beziehe ich mich auf das Fragezeichen in FVERSION. Hier steht normalerweise die Versionsnummer des Moduls.

Zitat
Wenn ich über die App mit Timer schalte sieht es so aus:
Code: [Auswählen]

"termination": {
            "type": "TIMER",
            "typeSkillBasedApp": "TIMER",
            "durationInSeconds": 3600,
            "expiry": "2019-12-18T22:48:20Z",
            "remainingTimeInSeconds": 3307,
            "projectedExpiry": "2019-12-18T22:48:20Z"
        }

Diese Informationen erhalte ich auch in Form von Readings, wenn ich das über FHEM setze (für ein Heizkörperthermostat). Das gleiche gilt auch wenn ich das über die Tado-App (Android) setze. Bis hierhin also alles OK. Wenn ich aber direkt am Heizkörperthermostat die Temperatur verstelle, gibt es diese Informationen nicht (auch nicht in der App). Deshalb brauchen wir hier eine Änderung des Codes.
Zeile 1269 bis Zeile 1275 in der Tado.pm wird ersetzt durch:
if (not $d->{overlay}->{termination}->{type} eq 'MANUAL'){
                #overlay-overlay-durationInSeconds
                my $overlayDurationInSeconds = $d->{overlay}->{termination}->{durationInSeconds};
$message .= defined $overlayDurationInSeconds ? $overlayDurationInSeconds.";" : ";";
#overlay-overlay-termination-expiry
                my $overlayExpiry = $d->{overlay}->{termination}->{expiry};
$message .= defined $overlayExpiry ? $overlayExpiry.";" : ";";
#overlay-overlay-termination-remainingTimeInSeconds
                my $overlayRemainingTimeInSeconds = $d->{overlay}->{termination}->{remainingTimeInSeconds};
$message .= defined $overlayRemainingTimeInSeconds ? $overlayRemainingTimeInSeconds.";" : ";";
            } else {
    $message .=  ";;;";
}

Kannst du den Code bitte in dein Modul einbauen.
Vielen Dank noch einmal für dein Engagement. Hast du vor, das Modul im SVN einzustellen? Ich finde, es hat bereits einen Stand erreicht, wo das Sinn macht.

Grüße
Stefan

Offline RangeMethod

  • New Member
  • *
  • Beiträge: 13
Antw:Neues Modul: Tado Heizungssystem
« Antwort #172 am: 21 Dezember 2019, 21:20:13 »
Hallo,

vielen Dank für das tolle Modul!
Funktioniert bei mir alles bestens, bis auf eine Kleinigkeit.
Bei uns kann ein Mobile Device nicht importiert werden (Iphone)
Zwei Android Geräte gehen ohne Probleme.

Hat noch jemand dieses Problem?

Viele Grüße
Sebastian

Offline strategy

  • Jr. Member
  • **
  • Beiträge: 92
Antw:Neues Modul: Tado Heizungssystem
« Antwort #173 am: 30 Dezember 2019, 14:29:15 »


Kannst du den Code bitte in dein Modul einbauen.
Vielen Dank noch einmal für dein Engagement. Hast du vor, das Modul im SVN einzustellen? Ich finde, es hat bereits einen Stand erreicht, wo das Sinn macht.



Hallo Stefan,

die Änderungen habe ich eingebaut und eingestellt. Neben dem Umbau auf optionale Informationen hast du da ja direkt noch einen Fehler gefunden. Da war tatsächlich ein Semikolon zu wenig und damit haben sich ggf. alle Folgewerte um eins verschoben...
Merci.

Offline strategy

  • Jr. Member
  • **
  • Beiträge: 92
Antw:Neues Modul: Tado Heizungssystem
« Antwort #174 am: 30 Dezember 2019, 14:32:13 »
Hallo,

vielen Dank für das tolle Modul!
Funktioniert bei mir alles bestens, bis auf eine Kleinigkeit.
Bei uns kann ein Mobile Device nicht importiert werden (Iphone)
Zwei Android Geräte gehen ohne Probleme.

Hat noch jemand dieses Problem?

Viele Grüße
Sebastian

Hallo Sebastian,

wir hatten hier schon mal eine Diskussion darüber wie die Geräte registriert sind.
Wenn alle Geräte unter einem Account (einer registrierten Mail-Adresse) laufen, dann solltest du auch alle Geräte sehen. Wenn es nicht so ist, muss ich mir das nochmal anschauen.
Wenn das Apple Gerät eine andere Email Adresse verwendet, gibt die Tado Webseite immer nur die Geräte zurück die mit der jeweiligen Mailadresse registriert sind. Dann müsstest du mal in der Historie schauen, da gibt es glaube ich einen Lösungsvorschlag / Workaround für dieses Szenario.

Gruß,
Matthias

Offline dl7vea

  • New Member
  • *
  • Beiträge: 5
Antw:Neues Modul: Tado Heizungssystem
« Antwort #175 am: 24 Januar 2020, 14:25:28 »
Hallo zusammen,

ich habe mir jetzt auch mal alle Devices generieren lassen. Aktuell haben diese keine readings. Es gibt jedoch einen Wert, der interessant ist. dDas ist der "batteryState". Da ich versuche alle irgendwie mit Batterien ausgestatteten Geräte mit fhem zu überwachen, wäre das ein wichtiges Feld. Lässt sich das in einer der folgenden Versionen einbauen?

Viele Grüße Axel.

Offline jle

  • New Member
  • *
  • Beiträge: 25
Antw:Neues Modul: Tado Heizungssystem
« Antwort #176 am: 10 April 2020, 22:01:23 »
Hallo Matthias,
danke für das tolle Modul!

Seit kurzem kann man in der Tado App den Modus zwischen HOME und AWAY manuell hin und her schalten.

Für mich wäre es super, wenn ich das auch aus deinem FHEM Modul heraus machen könnte, da ich das Tado Geofencing nicht nutze aber mein SmartHome durchaus Unterscheidungen zwischen „Zuhause“ und „Nicht Zuhause“ macht.

Wäre klasse, wenn du dir das evtl. für ein künftiges Update mal anschauen könntest :-)
Ich kann gerne beim Testen unterstützen.

Danke

Viele Grüße!

Offline strategy

  • Jr. Member
  • **
  • Beiträge: 92
Antw:Neues Modul: Tado Heizungssystem
« Antwort #177 am: 30 April 2020, 12:27:09 »
Hallo jle,

vielen Dank für das positive Feedback.

Bzgl. Deines Wunsches:


Seit kurzem kann man in der Tado App den Modus zwischen HOME und AWAY manuell hin und her schalten.

Für mich wäre es super, wenn ich das auch aus deinem FHEM Modul heraus machen könnte, da ich das Tado Geofencing nicht nutze aber mein SmartHome durchaus Unterscheidungen zwischen „Zuhause“ und „Nicht Zuhause“ macht.


Ich habe die API analysiert und eine entsprechende Funktion gefunden.
Es gibt jetzt auf der Ebene der TadoBridge ein set presence mit dem Du Home und Away manuell setzen kannst.
Entsprechend gibt es auch ein passendes Reading um den aktuellen Status einzusehen. Man sieht den Status aber auch in jeder Zone.


Hallo Axel,

Hallo zusammen,

ich habe mir jetzt auch mal alle Devices generieren lassen. Aktuell haben diese keine readings. Es gibt jedoch einen Wert, der interessant ist. dDas ist der "batteryState". Da ich versuche alle irgendwie mit Batterien ausgestatteten Geräte mit fhem zu überwachen, wäre das ein wichtiges Feld. Lässt sich das in einer der folgenden Versionen einbauen?

Viele Grüße Axel.

habe ich mir auch angeschaut. Scheinbar habe ich den Battery State sogar einmalig ausgelesen und in ein internal geschrieben.
Das ist natürlich totaler Quatsch. Ich habe die Stelle überarbeitet und schreibe den Batteriestatus nun in ein Reading. Bei der Qualität des Wertes würde ich aber nicht zu viel erwarten.

Außerdem habe ich die Dokumentation für die Module Tado und TadoBridge überarbeitet und versucht auch die zugehörigen Readings zu dokumentieren.
Ich fänd es super wenn Ihr diese Dokumentation mal prüfen und kommentieren könnten. Ich bin für jeden Verbesserungsvorschlag dankbar.

Viele Grüße,
Matthias

Offline Borkk

  • Full Member
  • ***
  • Beiträge: 327
Antw:Neues Modul: Tado Heizungssystem
« Antwort #178 am: 16 Mai 2020, 18:46:42 »
Hallo Zusammen,

Seit ein paar Tagen meldet das Modul TadoBridge im state ERROR und im Log tauchen diese beiden Zeilen auf.

2020.05.16 18:33:44 3: error while requesting https://my.tado.com/api/v2/homes/44.../state?username= ...entfernt... - read from https://my.tado.com:443 timed out
2020.05.16 18:33:44 3: error while requesting https://my.tado.com/api/v2/homes/44.../zones/2/state?username=...entfernt... - read from https://my.tado.com:443 timed out

Aber irgendwie scheint er doch zu pollen, da die Devices aktuelle Werte haben?  Der Fehler geht aber auch nicht weg, es kann also keine vorübergehende Nichterreichbarkeit der Seite sein. Was kann das sein?
Raspi4#1: FHEM (Main) / Raspi4#2: FHEM & ConBeeII
Raspi3#3: Raspberrymatic
Homebridge; Alexa; ReverseProxy; ASC; Netatmo; Withings; Pioneer; LG; Harmony; FritzBox; Tado°; div. HM & HmIP Akt- und Sensoren, uvm...

Offline Borkk

  • Full Member
  • ***
  • Beiträge: 327
Antw:Neues Modul: Tado Heizungssystem
« Antwort #179 am: 23 Mai 2020, 01:01:00 »
Scheint ein Problem seitens Tado gewesen zu sein.. Der Fehler ist ohne zutun verschwunden.
Raspi4#1: FHEM (Main) / Raspi4#2: FHEM & ConBeeII
Raspi3#3: Raspberrymatic
Homebridge; Alexa; ReverseProxy; ASC; Netatmo; Withings; Pioneer; LG; Harmony; FritzBox; Tado°; div. HM & HmIP Akt- und Sensoren, uvm...

 

decade-submarginal