Neues Modul: Tado Heizungssystem

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

Vorheriges Thema - Nächstes Thema

iHome

Auch ich hab das gleiche Mail erhalten und mir die selbe Frage gestellt wie Hackstall. Bin also auch auf eine Antwort gespannt ob uns das betrifft... Hoffentlich kennt sich jemand aus der diese Module 'lesen' kann ;D  Vielen Dank

mi.ke

so wie ich die Mail verstehe wird das Authentifizierungsverfahren umgestellt.

Näher erklärt wird die Anpassung in diesem Artikel, allerdings für Python:
https://support.tado.com/en/articles/8565472-how-do-i-authenticate-to-access-the-rest-api

Ich kann an dieser Stelle leider nur um Hilfe bitten und nicht selbst Hand anlegen, stelle mich aber gerne als Tester zur Verfügung.

cheers
mi.ke
FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

strategy

Hallo zusammen,

ich habe gerade einen schnellen Blick in den Link geworfen.
Leider ist das Modul davon betroffen und die komplette Authentifizierung muss neu gebaut werden.
Ist leider nicht mein Steckenpferd, aber ich werde mich am Wochenende mal dran setzen.

Gruß,
Matthias

strategy

Hallo zusammen,

ich habe jetzt auf die Schnelle eine Version mit der neuen Authentifizierung gebaut.
Das werde ich noch schöner machen, aber es läuft zumindest erstmal.

Die Version findet sich im Repo im branch "NewAuth".

  • Modul im order FHEM ersetzen
  • in FHEM ein 'reload 98_Tado' und ein 'reload 98_TadoDevice' durchführen
  • Ein set stop ausführen um den timer zu beenden
  • Ein set authenticate ausführen. Dann solltet ihr eine URL angezeigt bekommen. Diese bitte öffnen und den Anweisungen folgen
  • Im Anschluss bitte unbedingt einige Sekunden warten. Das Fehlerhandling ist noch nicht perfekt. Dann könnt ihr den Browser mit dem Modul mal refreshen
  • Nach erfolgreicher Authentifizierung sollte das Modul alleine wieder anfangen Werte abzurufen

Gruß,
Matthias

mi.ke

Zitat von: strategy am 21 März 2025, 18:17:30Nach erfolgreicher Authentifizierung sollte das Modul alleine wieder anfangen Werte abzurufen

Super, Status ist wieder "Polling" und die Daten kommen rein

Herzlichen Dank und viele Grüße
mi.ke
FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

mi.ke

Leider war es heute morgen kalt  :'(

Es scheint wohl so zu sein, dass nach 5 - 6 Minuten ein erneutes Anmelden erwartet wird.
Zumindest ist das bei mir so, dass nach einiger Zeit der State wieder auf:
Error: unauthorized / Full authentication is required to access this resourcesteht und keine Daten mehr ankommen und schon gar nicht rausgehen.

Dann ist eine neue Übertragung des "user_code" über den Aufruf der angezeigten URL notwenidig.

ICh versuche mal ein LOG davon zu erstellen
FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

Moli

Hi, bei mir passiert das auch.

Das einzige was ich jetzt erstmal sehe im Log ist:

2025.03.23 20:04:02 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 2093.
2025.03.23 20:04:02 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 2144.
2025.03.23 20:04:02 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1667.
2025.03.23 20:04:02 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1572.
2025.03.23 20:04:03 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Tado.pm line 1617.

strategy

Hallo zusammen,

die Änderungen sind aktuell leider noch quick and dirty...
Aber ich habe tatsächlich einen Code-Pfad beim Refresh Token übersehen.
Den habe ich jetzt korrigiert.
Bitte aktualisiert nochmal den Code aus dem Repo.

Ich freu mich über Feedback.
Gruß,
Matthias

mi.ke

#263
Bei mir läuft es soweit stabil bisher.

Zitat von: strategy am 23 März 2025, 23:25:25Ich freu mich über Feedback.

Bei mir läuft es seit Deiner letzten Änderung soweit stabil (seit ca. zwei Stunden)

FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

Kokolores

Hallo,

Danke für die Änderungen im Modul. Leider habe ich Probleme mit der angepassten Version. Habe mich daher nun im Forum angemeldet - Mitleser bin ich seit Jahren.

reload 98_Tado wirft das hier:

Can't modify numeric lt (<) in scalar assignment at ./FHEM/98_Tado.pm line 11, near "data"
syntax error at ./FHEM/98_Tado.pm line 11, near "data"
Unknown regexp modifier "/j" at ./FHEM/98_Tado.pm line 42, at end of line
Unknown regexp modifier "/v" at ./FHEM/98_Tado.pm line 42, at end of line
Unknown regexp modifier "/r" at ./FHEM/98_Tado.pm line 42, at end of line
Unknown regexp modifier "/t" at ./FHEM/98_Tado.pm line 42, at end of line
Unknown regexp modifier "/t" at ./FHEM/98_Tado.pm line 42, at end of line
Unknown regexp modifier "/h" at ./FHEM/98_Tado.pm line 42, at end of line
Unknown regexp modifier "/b" at ./FHEM/98_Tado.pm line 42, at end of line
Unknown regexp modifier "/t" at ./FHEM/98_Tado.pm line 43, at end of line
./FHEM/98_Tado.pm has too many errors.

mindkicker

Zitat von: Kokolores am 24 März 2025, 18:41:06Hallo,

Danke für die Änderungen im Modul. Leider habe ich Probleme mit der angepassten Version. Habe mich daher nun im Forum angemeldet - Mitleser bin ich seit Jahren.

reload 98_Tado wirft das hier:

Can't modify numeric lt (<) in scalar assignment at ./FHEM/98_Tado.pm line 11, near "data"
syntax error at ./FHEM/98_Tado.pm line 11, near "data"
Unknown regexp modifier "/j" at ./FHEM/98_Tado.pm line 42, at end of line
Unknown regexp modifier "/v" at ./FHEM/98_Tado.pm line 42, at end of line
Unknown regexp modifier "/r" at ./FHEM/98_Tado.pm line 42, at end of line
Unknown regexp modifier "/t" at ./FHEM/98_Tado.pm line 42, at end of line
Unknown regexp modifier "/t" at ./FHEM/98_Tado.pm line 42, at end of line
Unknown regexp modifier "/h" at ./FHEM/98_Tado.pm line 42, at end of line
Unknown regexp modifier "/b" at ./FHEM/98_Tado.pm line 42, at end of line
Unknown regexp modifier "/t" at ./FHEM/98_Tado.pm line 43, at end of line
./FHEM/98_Tado.pm has too many errors.

Du musst den Raw-Code herunterladen!

Ein

wget https://github.com/MrStrategy/FHEM-Tado/blob/master/98_TadoDevice.pm

bzw.

wget https://github.com/MrStrategy/FHEM-Tado/blob/master/98_Tado.pm

reicht da nicht!

Am besten Du gehst auf den Link und lädst Dir auf der rechten Seite unter "Download raw file" die beiden Files direkt runter und kopierst Sie ins FHEM Verzeichnis.


Kokolores

Danke!
Mit den raw Files hat es funktioniert.

Danke auch an MrStrategy für's Update :-)

Moli

Moin, bei mir sieht alles gut aus, auch keine Fehler, Danke!!

strategy

Super.
Danke für euer feedback. Dann kann ich mich ja jetzt ans Aufräumen machen...

strategy

#269
Hallo zusammen,

ein kleiner Hinweis noch.
Aktuell überlebt die Authentifizierung leider keinen Neustart. Danach sind das Token und das RefreshToken leider nicht mehr im Speicher.

Das ist mir im Zuge des größeren Refactorings aufgefallen. Ich würde das jetzt nicht mehr im Quick and Dirty Code nachziehen wollen sondern in der sauberen version.
Da ich heute Zeit hatte, bin ich auch schon recht weit fortgeschritten.
Ziel ist es den Code sauberer zu machen, alle Aufrufe auf asynchron umzustellen, ein Auto-Create für Devices und MobileDevices einzuführen (und wenn es klappt auch für Zonen).

Bei mir läuft die neue Version jetzt und aktuell habe ich auch keine Abstürze.
Wer möchte kann auch mit testen. Der Code liegt im branch "major_refactoring". Wenn ich damit durch bin, werde ich auch mal alle branches konsolidieren...

Euch einen schönen Abend,
Matthias

*Edit: Da ich an den Internals geändert habe, müsst ihr bitte Neustarten. Ein einfaches "reload 98_Tado" reicht leider nicht aus.
Beim ersten Neustart geht dann auch leider die Authentifizierung verloren, da ich die im alten Code noch nicht persisitiert habe.*