Neues Modul: Tado Heizungssystem

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

Vorheriges Thema - Nächstes Thema

strategy

Zitat von: strategy am 03 Juni 2019, 14:14:13

Aber ich stelle mal in Frage, dass Ihr Euch diese Information gewünscht habt.
Ihr habt vermutlich eher auf eine numerische oder "ein Wort" Darstellung gehofft, oder?



Diese Aussage muss ich mit guten Nachrichten korrigieren.
Ich hab nochmal einen anderen Browser und ein anderes Tool zum mitschneiden verwendet und da hat sich doch ein Call eingeschlichen den ich übersehen habe.
Damit lassen sich doch einige Informationen abgreifen und die habe ich jetzt in das Modul integriert:

Am Bridge Device gibt es jetzt 2 zusätzliche Readings:

  airComfort_freshness
  airComfort_lastWindowOpen


Das sind die Informationen aus der Zusammenfassung in der ersten Kachel der Tado App.

An den jeweiligen Zonen gibt es folgende zusätzliche Readings

  airComfort_humidityLevel
  airComfort_temperatureLevel
  airComfort_graph_radial
  airComfort_graph_angular


Damit lässt sich ablesen ob Luftfeuchte und Temperatur im Rahmen sind und wer will kann auf Basis der Graph Informationen auch noch das Bild nachzeichnen. (Wobei ich keine Idee habe ob die FHEM Graphenbibliothek das darstellen kann).

Gruß,
Matthias

strategy

Hallo Stefan,

Zitat von: Karflyer am 31 Mai 2019, 18:58:15

Die von dir aufgeführten Logzeilen, die hätten kommen sollen, kamen leider überhaupt nicht. Liegt es vielleicht daran, dass du Appeldevices hast, bei mir es sich aber in beiden Fällen um Androiddevices handelt?


das kann ich mir eigentlich nicht vorstellen. Das scheint mir so, als würde die Routine zur Erstellung der Geräte direkt nach dem ersten Gerät abbrechen. Ich kann mir aber nicht erklären warum...
Ich hab hier aber auch noch ein Android Gerät rumfliegen. Sicherheitshalber werde ich das mal registrieren und prüfen was passiert...

Gruß,
Matthias

bewa58

Hallo Matthias,

wg Warmwasser: mir ging es eigentlich nur darum das LOG nicht so zu beanspruchen.
                          Die Meldung ist ja eigentlich sinnlos.

wg. Raumluft: Top gemacht. Mit den Werten kann man ja was anfangen. Damit kann ich
                      mich dann im Herbst mal beschäftigen.

Gruss
Bernd

bewa58

Hallo Matthias,

noch ein kleines Problem:
für ein "structure" möchte ich den "state" ändern.
Habe
state {ReadingsVal($name,"desired-temp","") }
attr <> setState 0

im Device gesetzt. Leider ohne Erfolg.
Hast Du evtl. das Ändern irgendwie geblockt?
Schau mal hier: https://wiki.fhem.de/wiki/DevelopmentState
und hier: https://forum.fhem.de/index.php?topic=74380.0

Weiter ist mir aufgefallen: deine Readings sind teilweise mit "Bindestrich" und dann wieder mit "Unterstrich"
als "Trenner" benannt. Ist das mit Absicht? 

Gruss
Bernd

strategy

Hallo Bernd,

ich habe versucht das Problem nachzuvollziehen.
Was ich sicher sagen kann ist, dass ich lediglich das state reading beschreibe und nicht den Internal STATE. (Danke an CoolTux) Damit kannst du auf jeden Fall mit StateFormat das Internal STATE und damit auch die Anzeige ändern.

Structures habe ich bisher nicht verwendet, aber scheinbar kann hier wirklich nur das state Reading verwendet werden.
Das ist allerdings korrekt implementiert und sollte funktionieren wie es vorgegeben ist.

Mit den beiden Zeilen
Zitat von: bewa58 am 07 Juni 2019, 07:03:47
state {ReadingsVal($name,"desired-temp","") }
attr <> setState 0


kann ich leider nicht viel anfangen.
Mein Modul hat keinerlei Attribut setState und ich kann auch kein

attr <TadoDevice> setState 0

ausführen und bekomme lediglich einen Fehler das es dieses Attribut nicht gibt.

Wie hast du denn die beiden genannten Befehle ausgeführt?


Zitat von: bewa58 am 07 Juni 2019, 07:03:47
Weiter ist mir aufgefallen: deine Readings sind teilweise mit "Bindestrich" und dann wieder mit "Unterstrich"
als "Trenner" benannt. Ist das mit Absicht? 

Nein, ist es nicht.
Da ich mich an Homematic Thermostaten orientiert habe, werde ich bei Gelegenheit alles auf Bindestriche umstellen.
Also bau die Unterstrich-Readings nicht in zu viele Skripte ein  ;)

Gruß,
Matthias

bewa58

Hallo Matthias,

hab es hinbekommen! Fehler lag natürlich bei mir. Habe das Attribut "setstate" falsch gesetzt. Falsche Syntax!
Zitat
Antw:reading state ändern
« Antwort #4 am: 18 Juli 2017, 21:13:06 »
Hi,
dein stateFormat ändert STATE nicht state.
mit einem userReadings und dem Hinweis von dev0
state {ReadingsVal($name,"Switch","") }
attr <> setState 0
setState ist nicht korrekt, "setstate" muss es heißen. Drag and Drop und schon wieder reingefallen!
attr Tado_B_ro setstate 0
Kannst auch direkt im Device anlegen. Ist in der Attr-Liste enthalten.

Dann userreadings angelegt
userReadings:   state { ReadingsVal("Tado_B_ro","desired-temp","") }
Da du STATE nicht gesetzt hast wird von FHEM dann das "state(reading)"
in die STATE übernommen.
Das mit stateformat korrigiert
stateFormat:  T: measured-temp &deg;C desired: desired-temp H: measured-humidity %

Sinn und Zweck:
Mit structure hab ich 1x Heizzonen                   Tado
                         und 1x DoIF                            Tür- und Fenstersensoren  (Zu   Auf   Gekippt)
Die Sensoren lösen entsprechend des Zustandes den Heizungszustand aus (An   Aus   Aus     ).
Kann nun mit 1ner Anweisung die komplette Heizung ausschalten UND die DoIFs disablen damit
bei auslösen der Tür- Fenstersensoren nicht wieder die Heizung bei Zustand "Zu" eingeschaltet wird.

Bin mal gespannt wann TADO endlich in die Hufe kommt! Warte seit 2 Jahren darauf um beide Bridges
über 1ne App zu steuern (hab geklont) und wann die Heizung über 1nen Button abgeschaltet werden kann.
Steht in deren todo-List auch seit 2 Jahren.

Gruss
Bernd



Karflyer

Hallo Matthias,

ich habe beim booten von FHEM noch diese eine Fehlermeldung im Log.

PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1202.

Könntest du bitte noch einmal schauen, waron das liegen könnte.

Gruß
Stefan

mahowi

#112
Hallo Markus,

ich habe bei der Bridge die Fehlermeldung Error: accessibleOnlyForSkillBasedApps / air comfort is accessible only for Skill-based app homes.

Hängt das damit zusammen, daß ich nicht auf die V3-Version der App umgestellt habe? Ansonsten funktioniert nämlich alles.

Außerdem gibt es noch 3 Perl-Warnungen:
2019.06.19 08:35:31.700 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1168.
2019.06.19 08:35:31.701 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1182.
2019.06.19 08:35:31.701 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1193.


Und könntest Du vielleicht bei Gelegenheit in den Log-Einträgen den Modul- oder Device-Namen davor schreiben? Das macht es einfacher, die Logeinträge dem Modul zuzuordnen. Danke!
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

strategy

Hallo Stefan,

die Fehlermeldung

Zitat von: Karflyer am 10 Juni 2019, 20:41:50
PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1202.

scheint aufzutreten wenn ein Temperaturwechsel geplant ist aber die API keine Information liefert wann dieser Wechsel stattfinden soll.
Setzen kann man einen Temperaturwechsel entweder durch den intelligenten Zeitplan, oder weil man den aktuellen Status mit einem Timer gesetzt hat. In beiden Fällen sollte aber auch eine Zeit vorhanden sein.
Habe jetzt einiges Versucht, bekomme den Fehler bei mir aber nicht nachgestellt.

Tritt das Problem nur beim Neustart auf oder auch im regulären Betrieb?



Hallo mahowi,

da ich keine V2-Version mehr habe, kann ich da nichts Genaueres zu sagen. Allerdings macht deine Aussage durchaus Sinn.
Ich habe einen Bekannten, der hatte bisher auch die V2 und nur eingeschränkte Daten zur Luftqualität. Hat dann auf V3 aktualisiert und volle Daten erhalten.
Allerdings hatte er in dem Zuge ärger mit dem Kundensupport, da verschiedene Features die vorher kostenlos waren von Tado nun in den Premiumbereich verschoben worden sind und er monatlich zahlen sollte.
Am Ende hat man sich darauf geeinigt die Funktionen für einen "wertvollen Bestandskunden" auch in der V3 weiter kostenlos bereitzustellen.
Da es dafür aber vermutlich keine Garantie gibt, würde ich das vorher mit dem Kundensupport aushandeln...

Gruß,
Matthias

strategy

Hallo Stefan,

ich hab gerade nochmal mein gutes, altes Galaxy S6 rausgekramt.
Der volle Akku hat noch genau für den Test gereicht...

Zitat von: Karflyer am 31 Mai 2019, 18:58:15

Die von dir aufgeführten Logzeilen, die hätten kommen sollen, kamen leider überhaupt nicht. Liegt es vielleicht daran, dass du Appeldevices hast, bei mir es sich aber in beiden Fällen um Androiddevices handelt?


Bei mir wird auch das Android Gerät gefunden und sauber hinzugefügt.
Die Probleme die Du beschreibst sind für mich nicht nachvollziehbar.

Ich versuche jetzt noch eine Testumgebung herzustellen, wenn ich auch noch nicht genau weiß wie:
Aktuell ist das Android Gerät zuletzt in den JSON Daten aufgeführt. Wenn es beim Anlagen des Geräts zu einem Fehler kommt und evtl. danach auftretende Geräte nicht mehr angelegt werden würde mein aktueller Test das nicht feststellen.
Ich versuche jetzt mal ein Gerät hinzuzufügen, dass hinter dem Android Gerät gelistet wird.

Gruß,
Matthias

strategy

Hallo Bernd,

diesen Punkt habe ich noch offen:

Zitat von: bewa58 am 29 Mai 2019, 11:20:11
Folgende Meldungen erscheinen noch im LOG:

2019.05.29 09:20:07 1: PERL WARNING: Argument "" isn't numeric in sprintf at ./FHEM/98_TadoDevice.pm line 186.
2019.05.29 09:20:07 1: dewpoint_notify: humidity device Tado_Warmwasser (H) invalid: 0.0

Letzte Zeile LOG: Tado wertet hier die Zapftemperatur beim Warmwasser nicht aus. Es wird nur die eingestellte
Temperatur angezeigt. Log wird halt alle 60 Sek geschrieben.

Ich hab jetzt bei der Erstellung der Readings ein paar Dinge umgestellt, sodass bei fehlenden Daten nicht so viele leere Readings angelegt werden.
Entsprechend hab ich auch die State Nachrichten angepasst. Ich hoffe ich hab alle erwischt...

Das Notify in dem Log-Auszug oben, das stammt aber von Dir, oder?

Gruß,
Matthias

bewa58

Hallo Matthias,

hab im Moment wenig Zeit. Zwischen Tür und Angel gerade das Update eingespielt!
Kommen jetzt noch folgende Meldungen beim Start:
2019.07.10 19:00:43 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1168.
2019.07.10 19:00:43 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1182.
2019.07.10 19:00:43 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1193.
2019.07.10 19:00:43 1: PERL WARNING: Argument "" isn't numeric in sprintf at ./FHEM/98_TadoDevice.pm line 189.

Das Notify war von mir !

Gruß
Bernd

Karflyer

Hallo Matthias,

ich habe die aktuelle Version des Moduls eingespielt. Beim Start von FHEM erhalte ich jetzt die folgenden Fehlermeldungen:

2019.07.15 15:43:19.706 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1202.
2019.07.15 15:43:19.758 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 983.
2019.07.15 15:43:19.758 1: PERL WARNING: Use of uninitialized value $values[5] in sprintf at ./FHEM/98_TadoDevice.pm line 236


Hinweis: Bei mir läuft FHEM in einem Docker-Container auf Basis von DEBIAN10 (Buster).

Grüße
Stefan

mahowi

Leider schreibt mir das Modul alle paar Minuten PERL WARNINGs ins Log:
2019.08.01 00:44:00.478 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1168.
2019.08.01 00:44:00.478 1: stacktrace:
2019.08.01 00:44:00.479 1:     main::__ANON__                      called by ./FHEM/98_Tado.pm (1168)
2019.08.01 00:44:00.479 1:     (eval)                              called by ./FHEM/98_Tado.pm (1247)
2019.08.01 00:44:00.479 1:     main::Tado_UpdateZoneCallback       called by FHEM/HttpUtils.pm (609)
2019.08.01 00:44:00.479 1:     main::__ANON__                      called by fhem.pl (745)

2019.08.01 00:44:00.483 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1182.
2019.08.01 00:44:00.483 1: stacktrace:
2019.08.01 00:44:00.483 1:     main::__ANON__                      called by ./FHEM/98_Tado.pm (1182)
2019.08.01 00:44:00.483 1:     (eval)                              called by ./FHEM/98_Tado.pm (1247)
2019.08.01 00:44:00.483 1:     main::Tado_UpdateZoneCallback       called by FHEM/HttpUtils.pm (609)
2019.08.01 00:44:00.483 1:     main::__ANON__                      called by fhem.pl (745)

2019.08.01 00:44:00.484 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1193.
2019.08.01 00:44:00.485 1: stacktrace:
2019.08.01 00:44:00.485 1:     main::__ANON__                      called by ./FHEM/98_Tado.pm (1193)
2019.08.01 00:44:00.485 1:     (eval)                              called by ./FHEM/98_Tado.pm (1247)
2019.08.01 00:44:00.485 1:     main::Tado_UpdateZoneCallback       called by FHEM/HttpUtils.pm (609)
2019.08.01 00:44:00.485 1:     main::__ANON__                      called by fhem.pl (745)

2019.08.01 00:44:00.487 3: TadoDevice_Parse: Entry found (TadoBridge-0), updating readings
2019.08.01 00:44:00.487 1: PERL WARNING: Argument "" isn't numeric in sprintf at ./FHEM/98_TadoDevice.pm line 195.
2019.08.01 00:44:00.487 1: stacktrace:
2019.08.01 00:44:00.488 1:     main::__ANON__                      called by ./FHEM/98_TadoDevice.pm (195)
2019.08.01 00:44:00.488 1:     main::TadoDevice_Parse              called by fhem.pl (3949)
2019.08.01 00:44:00.488 1:     main::Dispatch                      called by ./FHEM/98_Tado.pm (1239)
2019.08.01 00:44:00.488 1:     (eval)                              called by ./FHEM/98_Tado.pm (1247)
2019.08.01 00:44:00.488 1:     main::Tado_UpdateZoneCallback       called by FHEM/HttpUtils.pm (609)
2019.08.01 00:44:00.488 1:     main::__ANON__                      called by fhem.pl (745)


Wobei Zeile 1168 fünfmal hintereinander kommt, gefolgt von zweimal 1182 und zweimal 1193.

Da die Meldungen ca. alle 2 Minuten kommen, ist das neue Log für August bis jetzt schon 2,1 MB groß.
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

Kamik

Hallo zusammen,

ich habe mir nun von Tado für meine Klimamannlage den ac v3 gekauft. Integration in Fhemweb war problemlos.
Ist es möglich den Funktionsumfang der Befehle zu erweitern?
Ich habe lediglich Set Automatic xx°C.
Die Befehlspalette der erkannten Klimageräte werden nicht angezeigt (cool, Heat, dry etc.)

Gerne würde ich auch eigene IR Befehle anlernen und absetzen. In der tado App geht das leider nur mit der thermostatischen Regelung, also Temperatur wird von Tado geregelt. Finde ich aber nicht gut, weil die Anlage das selbst schon gut, wenn nicht besser macht.

Könnt ihr mir ggf. Nennen wo die API von Tado zu finden ist. Dann könnte ich versuchen selbst etwas zu stöbern.

Gruß Kamik

Gesendet von meinem SM-G950F mit Tapatalk