Herstel je Honeywell Home/Resideo Lyric T6 gegevens in Domoticz

Gepubliceerd door Robot One op

Resideo Honeywell Lyric 6 thermostaat

Nieuwe start voor je slimme thermostaat

Zonder de klanten op de hoogte te stellen heeft Honeywell Home dit jaar een nieuwe identiteit gekregen: Resideo. Het gevolg in mijn slimme huis was dat de slimme Honeywell thermostaat (Lyric T6) ineens geen data meer doorgaf aan Domoticz. Daar gaan we iets aan doen.

Een merknaam veranderen vanuit marketing-overwegingen is natuurlijk tot daaraan toe. Maar dingen ‘stuk maken’ en het niemand laten weten, wekt niet echt vertrouwen. Mij viel het pas op toen de Honeywell Home app op mijn telefoon ineens onder een andere naam verscheen. In Domoticz bleek toen dat de thermostaatgegevens al een hele tijd niet meer geüpdated waren. Omdat het hartje zomer is terwijl ik dit schrijf en de verwarming uit staat, bleef dat onopgemerkt. Pas toen ik dit las op internet was duidelijk dat het vooral om een marketingstrategie leek te gaan.

Honeywell Resideo Lyric T6 thermostaat

Vervang je oude handbediende thermostaat door dit slimme type. Sluit hem gewoon aan op de bestaande bedrading en hang een ‘Opentherm’ kastje (meegeleverd) aan de CV-ketel. De T6 is te bedienen vanuit zij eigen app maar ook via een API vanuit Domoticz.

Koop op Amazon.nl Koop op Bol.com

Het goede nieuws: de API waarmee de thermostaat communiceert met Domoticz is nog steeds bereikbaar. Dat betekent dat het een kwestie is van opnieuw instellen. Vermoedelijk heeft dit te maken met juridische consequenties van de naamsverandering: waar je eens akkoord bent gegaan met de voorwaarden voor gebruik van Honeywell Home, moet je nu akkoord gaan met de voorwaarden van Resideo. Behalve de naam lijkt er weinig te zijn veranderd in die voorwaarden, al ben ik geen jurist.

De thermostaat weer aan de praat krijgen is dus een kwestie van opnieuw koppelen met Domoticz. Voor degenen die nog precies weten hoe dat ook alweer ging: de ‘apps’ die je eerder hebt aangemaakt in de Honeywell Home developers portal en waarvan er één aan Domoticz is gekoppeld, zijn nog intact. Dat geldt ook voor de API Key en API Secret. Je hoeft dus alleen een nieuwe Access Token en Refresh Token aan te vragen.

Voor wie het allemaal niet meer zo precies weet:

STAP 1
Open in Domoticz Instellingen > Hardware > THERMOSTAAT (vul hier naam in die je aan je thermostaat hebt gegeven in Domoticz).

Screenshot Domoticz Hardware Thermostaat instellingen

STAP 2
Kopieer het API key veld en vul deze key in de onderstaande regel bij [KEY] in (zonder rechte haken):

https://api.honeywell.com/oauth2/authorize?response_type=code&client_id=[KEY]&redirect_uri=none

STAP 3
Kopieer deze regel en plak hem in de adresbalk van je browser. Druk op Enter en je krijgt allereerst de vraag om in te loggen en de voorwaarden te accepteren, en daarna een foutmelding: Cannot GET /none (het doeladres ‘none’ bestaat namelijk niet).

STAP 4
Vergeet de foutmelding, kijk alleen naar de adresbalk van je browser. Daar staat nu de volgende regel, met achter ‘code=’ een code die je verderop nog nodig hebt. Noteer deze.

https://api.honeywell.com/oauth2/app/none?code=

STAP 5
De volgende stap is het Base64 versleutelen van je API key en API secret. Je wilt immers geen onversleutelde geheimen over het internet sturen. Base 64 versleutelen kan online of via de commandline interface (CLI) van je Raspberry Pi:

echo -n "[APIkey]:APIsecret" | base64

Het resultaat is een lange reeks tekens die er ongeveer zoals hieronder uitziet:

SEhjNjc3UW16QUJ4NTZ4REVmMWhJSktMMk1uT3BRUng6M1l6YTRiNUNEZUY0SEkzag==

STAP 6
Met behulp van deze reeks en de eerder genoteerde code kun je nu de Access en Refresh tokens opvragen, alweer in de CLI van de Raspberry Pi. Pas de onderstaande regel aan door op de plaats van [BASE64-STRING] de tekenreeks uit de vorige stap in te voeren en op de plaats van [CODE] de opgevraagde code uit stap 5:

curl -X POST -H 'Authorization: Basic [BASE64-STRING]' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: application/json' -d 'grant_type=authorization_code&code=[CODE]&redirect_uri=none' https://api.honeywell.com/oauth2/token

De server geeft hierop een stukje JSON terug met beide tokens erin, bijvoorbeeld:

{"access_token":"494hiudfhiuhdfi84949df","refresh_token":"jdfoijodfoUHdud83834","expires_in":"1799", "token_type":"Bearer"}

STAP 7
Kopieer de token codes tussen de aanhalingstekens en plak ze op de desbetreffende plaats in de Domoticz hardware-instellingen van je thermostaat. Klik tot slot op Aanpassen (niet op Toevoegen, want dan wordt er een tweede thermostaat aangemaakt).


2 reacties

Arno · 7 april 2023 op 10:45

Werk jij ook met scripts om je T6 te sturen? En weet je misschien waar ik lua commands of dzvents commands kan vinden om de T6 dingen te laten doen? Bijvoorbeeld: Op dagen dat het buiten 16 graden is mag de thermostaat continu op 15 graden omdat dan het huis niet verwarmd hoeft te worden.

    Robot One · 30 april 2023 op 17:27

    De T6 uitlezen is heel eenvoudig vanuit dzvents, maar de doeltemperatuur instellen is problematisch. Het Setpoint apparaat in Domoticz waarin de doeltemperatuur staat, leest gewoon de instelling van de T6-thermostaat en geeft die weer, maar is niet in staat om een nieuwe waarde die je in Domoticz instelt naar de thermostaat te sturen. Waarschijnlijk komt dit door een knullige implementatie van de API van Resideo (Honeywell) óf van de Domoticz plugin hiervoor. Na een paar minuten worden de waarden door de plugin ververst en geeft het Setpoint-apparaat in Domoticz dus weer de oorspronkelijke waarde weer die al die tijd al in de thermostaat stond…

Geef een reactie

Avatar plaatshouder

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *