Neues Modul: Tado Heizungssystem

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

Vorheriges Thema - Nächstes Thema

mahowi

Zitat von: mahowi am 01 August 2019, 08:08:24
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ß.

Ich hab mir den Code mal angesehen. Da scheinen wohl folgende Variablen leer zu sein:

Zeile 1168:
$d->{sensorDataPoints}->{insideTemperature}->{precision}->{fahrenheit}
Fahrenheit taucht bei mir in den Readings nicht auf.

Zeile 1182:
{link}->{state}

Zeile 1193:
{activityDataPoints}->{heatingPower}->{timestamp}
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 zusammen,

sorry für meine lange Abstinenz aber ich hatte leider in den letzten Wochen und Monaten zu viel um die Ohren.
Außerdem war es ja Sommer und da braucht man ja bekanntlich keine Heizung.
Aber jetzt kommt mit großen Schritten der Winter (ich hab schon die ersten Lebkuchenherzen im Supermarkt gesehen) und da sollte dann auch die Heizung in Betrieb gehen...

Ich hab die Fehler von mahowi, Karflyer und bewa58 aufgenommen und ein paar kleinere Anpassungen am Code gemacht.
Bitte testet mal ob die Fehler die Ihr beschrieben habt noch immer auftreten. Ich kann die leider nicht nachstellen weil bei mir besagte Fehler nicht auftreten...

Gruß,
Matthias

strategy

Hallo Kamik,

freut mich das die Grundinstallation schon mal gut funktioniert hat.

Zitat von: Kamik am 04 August 2019, 22:05:37
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?

Klar ist das möglich. Nur brauche ich deine Unterstützung weil ich alles was die Klimaanlage angeht mangels Möglichkeiten zum Testen im Blindflug machen muss. Ich kann zwar was bauen aber du musst dann jede Anpassung und Iteration der Software direkt testen und Feedback geben...

Zitat von: Kamik am 04 August 2019, 22:05:37
Ich habe lediglich Set Automatic xx°C.
Die Befehlspalette der erkannten Klimageräte werden nicht angezeigt (cool, Heat, dry etc.)

Leider gibt es keine offizielle API für das Tado System.
Alles was ich hier gebaut habe funktioniert nur weil die entsprechende Kommunikation ausgelesen und dann in eigene Nachrichten verpackt worden ist.
Eine gute Übersicht, die ich auch als Basis benutzt habe findest du hier :http://blog.scphillips.com/posts/2017/01/the-tado-api-v2/.
Bist du ein wenig versiert am Laptop? Dann kannst du die Nachrichten selbst extrahieren und mir zur Verfügung stellen.
Ich setze die Befehle dann gerne um.

Zitat von: Kamik am 04 August 2019, 22:05:37
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.

Die Aussage verstehe ich nicht. Du willst über die von Tado unterstützen Befehle hinaus weitere Befehle an deine Klimaanlage schicken?

Zitat von: Kamik am 04 August 2019, 22:05:37
Könnt ihr mir ggf. Nennen wo die API von Tado zu finden ist. Dann könnte ich versuchen selbst etwas zu stöbern.

Gibt es wie gesagt leider nicht. Aber eine gute Basis findest du über den Link den ich geschrieben habe...


Gruß,
Matthias

Kamik



Zitat von: strategy am 16 September 2019, 21:26:51

Die Aussage verstehe ich nicht. Du willst über die von Tado unterstützen Befehle hinaus weitere Befehle an deine Klimaanlage schicken?

Gruß,
Matthias

Hi Matthias

danke für deine Antworten. Ich habe mein im Angebot geschossenen tado AC wieder zurück geschickt weil ich einfach nicht überzeugt von der Funktion war.
Die Integration unabhängig von Fhem mit meiner Klimaanlage war einfach zu schlecht.
Auf die thermostatische Regelung wollte ich verzichten da das die Klimamannlage sehr gut selbst macht. Wenn die Temperatur erreicht ist wird die Ventillation herunter geregelt. Tado schaltet nur aus, was dazu führt dass es schnell wieder warm wird.

Das anlernen von eigenen Befehlen war bei tado lediglich auf cool Heat und dry begrenzt. Ventillationsstufen, Eco oder Silene Modus für die Nacht oder Swing Einstellungen waren nicht möglich

Ich werde nun versuchen die Anlage über den eigenen i2c Bus mittels ESP8266 anzusteuern und in Fhem zu integrieren.

Sollte sich bei tado noch etwas anderes herausstellen würde ich dein Angebot gerne nochmal aufgreifen.

Beste Grüße
Kamik

Gesendet von meinem SM-G950F mit Tapatalk


mahowi

Zitat von: strategy am 16 September 2019, 21:17:25
Ich hab die Fehler von mahowi, Karflyer und bewa58 aufgenommen und ein paar kleinere Anpassungen am Code gemacht.
Bitte testet mal ob die Fehler die Ihr beschrieben habt noch immer auftreten. Ich kann die leider nicht nachstellen weil bei mir besagte Fehler nicht auftreten...

Ich habe die aktuelle Version gestern installiert. Die Warnungen habe ich immer noch im Log:
2019.09.17 09:44:29.418 3: Received non-blocking data from TADO for zone 1
2019.09.17 09:44:29.449 3: TadoDevice_Parse: Entry found (TadoBridge-1), updating readings
2019.09.17 09:44:29.471 3: Received non-blocking data from TADO for zone 0
2019.09.17 09:44:29.473 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1163.
2019.09.17 09:44:29.473 1: stacktrace:
2019.09.17 09:44:29.473 1:     main::__ANON__                      called by ./FHEM/98_Tado.pm (1163)
2019.09.17 09:44:29.473 1:     (eval)                              called by ./FHEM/98_Tado.pm (1259)
2019.09.17 09:44:29.474 1:     main::Tado_UpdateZoneCallback       called by FHEM/HttpUtils.pm (610)
2019.09.17 09:44:29.474 1:     main::__ANON__                      called by fhem.pl (747)
2019.09.17 09:44:29.474 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1163.
2019.09.17 09:44:29.474 1: stacktrace:
2019.09.17 09:44:29.474 1:     main::__ANON__                      called by ./FHEM/98_Tado.pm (1163)
2019.09.17 09:44:29.474 1:     (eval)                              called by ./FHEM/98_Tado.pm (1259)
2019.09.17 09:44:29.475 1:     main::Tado_UpdateZoneCallback       called by FHEM/HttpUtils.pm (610)
2019.09.17 09:44:29.475 1:     main::__ANON__                      called by fhem.pl (747)
2019.09.17 09:44:29.475 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1169.
2019.09.17 09:44:29.475 1: stacktrace:
2019.09.17 09:44:29.475 1:     main::__ANON__                      called by ./FHEM/98_Tado.pm (1169)
2019.09.17 09:44:29.476 1:     (eval)                              called by ./FHEM/98_Tado.pm (1259)
2019.09.17 09:44:29.476 1:     main::Tado_UpdateZoneCallback       called by FHEM/HttpUtils.pm (610)
2019.09.17 09:44:29.476 1:     main::__ANON__                      called by fhem.pl (747)
2019.09.17 09:44:29.476 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1184.
2019.09.17 09:44:29.476 1: stacktrace:
2019.09.17 09:44:29.476 1:     main::__ANON__                      called by ./FHEM/98_Tado.pm (1184)
2019.09.17 09:44:29.476 1:     (eval)                              called by ./FHEM/98_Tado.pm (1259)
2019.09.17 09:44:29.477 1:     main::Tado_UpdateZoneCallback       called by FHEM/HttpUtils.pm (610)
2019.09.17 09:44:29.477 1:     main::__ANON__                      called by fhem.pl (747)
2019.09.17 09:44:29.477 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1184.
2019.09.17 09:44:29.477 1: stacktrace:
2019.09.17 09:44:29.477 1:     main::__ANON__                      called by ./FHEM/98_Tado.pm (1184)
2019.09.17 09:44:29.477 1:     (eval)                              called by ./FHEM/98_Tado.pm (1259)
2019.09.17 09:44:29.477 1:     main::Tado_UpdateZoneCallback       called by FHEM/HttpUtils.pm (610)
2019.09.17 09:44:29.478 1:     main::__ANON__                      called by fhem.pl (747)
2019.09.17 09:44:29.478 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1198.
2019.09.17 09:44:29.478 1: stacktrace:
2019.09.17 09:44:29.478 1:     main::__ANON__                      called by ./FHEM/98_Tado.pm (1198)
2019.09.17 09:44:29.478 1:     (eval)                              called by ./FHEM/98_Tado.pm (1259)
2019.09.17 09:44:29.478 1:     main::Tado_UpdateZoneCallback       called by FHEM/HttpUtils.pm (610)
2019.09.17 09:44:29.478 1:     main::__ANON__                      called by fhem.pl (747)
2019.09.17 09:44:29.479 3: TadoDevice_Parse: Entry found (TadoBridge-0), updating readings
2019.09.17 09:44:29.480 1: PERL WARNING: Argument "" isn't numeric in sprintf at ./FHEM/98_TadoDevice.pm line 195.
2019.09.17 09:44:29.480 1: stacktrace:
2019.09.17 09:44:29.480 1:     main::__ANON__                      called by ./FHEM/98_TadoDevice.pm (195)
2019.09.17 09:44:29.480 1:     main::TadoDevice_Parse              called by fhem.pl (3948)
2019.09.17 09:44:29.480 1:     main::Dispatch                      called by ./FHEM/98_Tado.pm (1251)
2019.09.17 09:44:29.480 1:     (eval)                              called by ./FHEM/98_Tado.pm (1259)
2019.09.17 09:44:29.480 1:     main::Tado_UpdateZoneCallback       called by FHEM/HttpUtils.pm (610)
2019.09.17 09:44:29.481 1:     main::__ANON__                      called by fhem.pl (747)
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

Das ist eigenartig.
Scheinbar meckert das System nun die Felder, die ich korrigiert habe nicht mehr an.
Dafür aber andere...

Wird der Fehler nur bei der Initialisierung des Moduls angezeigt oder taucht der gleiche Eintrag ständig wieder auf?

Ich setz mich am Wochenende mal hin und mach die Dinger alle "optional"...

Gruß,
Matthias

mahowi

Die Meldungen werden alle 2 Minuten ins Log geschrieben.
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

Hackstall

Hallo auch nochmal die Frage: Bekommt man den Batteriestatus irgendwie mitgeteilt?
Waere echt super.
Danke A. Krause

Karflyer

Hallo Matthias,

ich habe auch noch einmal deine letzte Version eingespielt. Wie 'mahowi' auch, erhalte ich minütlich eine Fehlermeldung im Log:

2019.09.18 20:30:07 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1207.
2019.09.18 20:30:07 1: stacktrace:
2019.09.18 20:30:07 1:     main::__ANON__                      called by ./FHEM/98_Tado.pm (1207)
2019.09.18 20:30:07 1:     (eval)                              called by ./FHEM/98_Tado.pm (1259)
2019.09.18 20:30:07 1:     main::Tado_UpdateZoneCallback       called by FHEM/HttpUtils.pm (610)
2019.09.18 20:30:07 1:     main::__ANON__                      called by fhem.pl (747)


Bei mir nur an Zeile 1207. Vielleicht ist es aber auch dem gleichen Problem geschuldet, nach dem du am Wochenende schauen willst.

Grüße
Stefan

strategy

Hallo zusammen,

ich hab das Modul nochmal ein wenig überarbeitet und die meisten Parameter sollten jetzt keine Fehler mehr werfen.
Ich bin mir aber nicht 100%ig sicher ob es dann nicht zu Problemen in der TadoDevice Datei kommt. Aber das werdet Ihr mir dann ja sicher sagen...

Was den Batterie-Status angeht kann man glaube ich nicht viel machen. In den normalen Services ist der nicht mit drin.
Ich hab gerade nochmal alle Nachrichten aufgezeichnet die beim Aufruf der entsprechenden Webseite ausgetauscht werden. Es wird zwar eine Nachricht geschickt und auch empfangen, die liefert aber ein Stück HTML Code um das Bild mitsamt dem Text zu rendern.
Theoretisch wäre es zwar möglich das zu verarbeiten, aber dann müsste man jedesmal wenn sich sichtbar oder auch nicht sichtbar auf der Homepage etwas ändert auch das Modul anpassen. Das ist mir ehrlich gesagt ein wenig zu riskant...

Was mich noch interessieren würde:
Welche Module habt Ihr im Einsatz? Ich hab die Dinger für die Fußbodenheizung und ich schaff es beim besten Willen nicht Eure Fehler nachzustellen.
Irgendwie muss das mit der verwendeten Hardware zusammenhängen...

Gruß,
Matthias

mahowi

Hallo Matthias,

die Meldungen tauchen nach dem Update nicht mehr auf.

Ich habe bei mir übrigens das Wandthermostat und Heizkörperthermostat im Einsatz.
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

Karflyer

Hallo Matthias,

ich habe aktuell auch keine Fehlermeldungen im Log. Weder beim Start von FHEM noch im Betrieb. Danke noch einmal für dein Engagement, klasse Modul.

Grüße
Stefan

blommaep

Vielen Dank für die Modul. Habe bisher HTTPMOD tricks benuzt aber mit diese Modul ist alles viel netter.

Die log ist auch wirklich gut (viele Modul haben zu wenig detail log, eben auf level 5, diese Modul logt wirklich alles was ich bedenken kann).
Aber das level für logs wie:
2019.10.05 17:36:44 3: Updating zone id: 1
2019.10.05 17:36:44 3: Getting air comfort update.
2019.10.05 17:36:44 3: Attribute 'generateMobileDevices' is set to no. No update will be executed.
2019.10.05 17:36:46 3: Received non-blocking data from TADO for zone 4

Ist zu hoch: gemass die "Verbose" anleitung:
3
    gesendete Befehle werden protokolliert
4
    es wird protokolliert, was die einzelnen Geräte empfangen
5
    umfangreiche Meldungen

Ich habe das loglevel auf 3 default und habe es jetzt bei mir angepasst. Glaube es wär besser für diese meldunge level 4/5 zu benutzen, damit mit die andere device zu passen. (Ein log level Höher als 5 wäre manchmal wieleicht gut, aber gibt es leider nicht.)

Das Github readme meldet auch noch immer:
"Please be aware that username and password are stored and send as plain text. "
obwohl das password jetzt encrypted ist. (Send ist über https, sollte kein problem sein)

Nochmal dank für die Modul
Pieter

Karflyer

Hallo Matthias,

ich habe aktuell bei jedem Polling die folgende Fehlermeldung im Log:

2019.10.10 10:08:47 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1319.
2019.10.10 10:08:47 1: stacktrace:
2019.10.10 10:08:47 1:     main::__ANON__                      called by ./FHEM/98_Tado.pm (1319)
2019.10.10 10:08:47 1:     (eval)                              called by ./FHEM/98_Tado.pm (1332)
2019.10.10 10:08:47 1:     main::Tado_UpdateAirComfortCallback called by FHEM/HttpUtils.pm (610)
2019.10.10 10:08:47 1:     main::__ANON__                      called by fhem.pl (747)


Kannst du dir das noch einmal bitte anschauen.

Grüße
Stefan

psycho160

Hi Leute,
hab auch schon mit dem Modulentwickler gesprochen und will es euch nicht vorenthalten:

Ich habe parallel für mich auch ein Tado Modul entwickelt, dass ich jedoch nur auf meine Bedürfnisse zugeschnitten habe (Tado-Home Mode automatisiert setzen).
Vielleicht kann es ja der eine oder andere auch benötigen, darum poste ich hier mal den Link zum Repo. (inkl. kurzer Beschreibung)

Repo meines Tado-Moduls: https://home.wolfmajer.at/wolfgit/Public/FHEM-Tado


Kann gerne verändert oder verbessert werden... Bin kein Profi in Perl.
Lg
- 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)
- 2024@HomeAssistant, FHEM nur noch als legacy System per MQTT von HA versorgt