Hi @Domaray,
There is an API that you can interact and with GET, POST and PUT request you can play with it:
First of all you need an user/password (witch you have registered with the baxi connect APP) and the token code from the QR code from the screen of the thermostat.
I think the header Authorization: Basic cnVhcHA6V25AW1tjJF1QfjghM2AoW35BZiUnSDI/bEh3XWNpaXE6cn1MT3pqTGsueTVNSCtfcT0=
is hardcoded on the APP but I don’t know if is always the same (if is only mine, please don’t hack me).
I have no idea how to integrate this with home assistant, But I hope this helps to some one who does
Also I have the baxi connect APK withdout certificate pinning if some body whants to sniff the dialog easily using ZAP proxy or remote pcap.
POST /user/baxi/login HTTP/1.1
Host: remoteapp.bdrthermea.com
Connection: keep-alive
Content-Length: 63
Accept: application/json, text/plain, */*
Accept-Language: ca-ES
Content-Type: application/json;charset=UTF-8
X-Requested-With: com.bdrthermea.roomunitapplication.baxi
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Accept-Encoding: gzip, deflate
{
"username": "yourusername",
"password": "your password
}
HTTP/1.1 200 OK
Date: Thu, 02 Dec 2021 20:53:32 GMT
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: *, amdatu_token
Content-Type: application/json
amdatu_token: one of the token for the get request to put at the header amdatu_token
Transfer-Encoding: chunked
{"username":"your user","surname":"smith","name":"george","honorific":"male","postalCode":"08021","country":"ES"}
POST /v1.0/pairings HTTP/1.1
Host: ruapi.remoteapp.bdrthermea.com
Connection: keep-alive
Content-Length: 107
Accept: application/json, text/plain, */*
Authorization: Basic cnVhcHA6V25AW1tjJF1QfjghM2AoW35BZiUnSDI/bEh3XWNpaXE6cn1MT3pqTGsueTVNSCtfcT0=
Content-Type: application/json
X-Requested-With: com.bdrthermea.roomunitapplication.baxi
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Accept-Encoding: gzip, deflate
Accept-Language: ca-ES,ca;q=0.9,en-US;q=0.8,en;q=0.7
{"account":"[email protected]","brand":"baxi","password":"mypassword","device":"device name","otp":"QrFromThermostat"}
Response:
Date: Thu, 02 Dec 2021 21:00:35 GMT
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: *, amdatu_token
Content-Type: application/json
Transfer-Encoding: chunked
{"id":"1","token":"here is a large code to put on the header X-Bdr-Pairing-Token","gatewayUUID":"here the id of your thermostat i gues..."}
To see if connected ok:
GET /v1.0/system/gateway/connection HTTP/1.1
Host: ruapi.remoteapp.bdrthermea.com
Connection: keep-alive
Accept: application/json, text/plain, */*
X-Bdr-Pairing-Token: the large code
Authorization: Basic cnVhcHA6V25AW1tjJF1QfjghM2AoW35BZiUnSDI/bEh3XWNpaXE6cn1MT3pqTGsueTVNSCtfcT0=
X-Requested-With: com.bdrthermea.roomunitapplication.baxi
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Accept-Encoding: gzip, deflate
Accept-Language: ca-ES,ca;q=0.9,en-US;q=0.8,en;q=0.7
HTTP/1.1 200 OK
Date: Thu, 02 Dec 2021 21:00:43 GMT
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: *, amdatu_token
Content-Type: application/json
Transfer-Encoding: chunked
{"status":"connected_to_appliance"}
GET /v1.0/capabilities HTTP/1.1
Host: ruapi.remoteapp.bdrthermea.com
Connection: keep-alive
Accept: application/json, text/plain, */*
X-Bdr-Pairing-Token: ther large code
Authorization: Basic cnVhcHA6V25AW1tjJF1QfjghM2AoW35BZiUnSDI/bEh3XWNpaXE6cn1MT3pqTGsueTVNSCtfcT0=
X-Requested-With: com.bdrthermea.roomunitapplication.baxi
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Accept-Encoding: gzip, deflate
Accept-Language: ca-ES,ca;q=0.9,en-US;q=0.8,en;q=0.7
HTTP/1.1 200 OK
Date: Thu, 02 Dec 2021 21:00:46 GMT
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: *, amdatu_token
Content-Type: application/json
Transfer-Encoding: chunked
{"centralHeatingZones":[{"name":"GTW-16","uri":"/central-heating-zone/1E10FFFFFFFF010","coolingSupported":false,"timeProgramsUri":"/central-heating-zone/1E10FFFFFFFF010/time-programs","timeProgramActivitiesUri":"/central-heating-zone/1E10FFFFFFFF010/time-program-activities","statusUri":"/central-heating-zone/1E10FFFFFFFF010/status","getSetpointUri":"/central-heating-zone/1E10FFFFFFFF010/setpoint","putSetpointScheduleUri":"/central-heating-zone/1E10FFFFFFFF010/setpoint/schedule","putSetpointManualUri":"/central-heating-zone/1E10FFFFFFFF010/setpoint/manual","putSetpointAntiFrostUri":"/central-heating-zone/1E10FFFFFFFF010/setpoint/anti-frost","putSetpointTemporaryOverrideUri":"/central-heating-zone/1E10FFFFFFFF010/setpoint/temporary-override","putSetpointHolidayUri":"/central-heating-zone/1E10FFFFFFFF010/setpoint/holiday","putFirePlaceModeUri":"/central-heating-zone/1E10FFFFFFFF010/setpoint/fireplace-mode","parametersUri":"/central-heating-zone/1E10FFFFFFFF010/parameters","paramsMaxPreheatUri":"/central-heating-zone/1E10FFFFFFFF010/parameters/max-pre-heat","paramsHeatingCurveUri":"/central-heating-zone/1E10FFFFFFFF010/parameters/heating-curve","paramsHeatingCoolingSpeedUri":"/central-heating-zone/1E10FFFFFFFF010/parameters/heating-cooling-speed","paramsAntiFrostHolidayUri":"/central-heating-zone/1E10FFFFFFFF010/parameters/anti-frost-and-holiday-setpoint","paramsControlStrategyUri":"/central-heating-zone/1E10FFFFFFFF010/parameters/control-strategy"}],"domesticHotWaterZones":[],"producers":[{"name":"GTW-16","statusUri":"/producers/1E10FFFFFFFF","powerSettingsUri":"/producers/1E10FFFFFFFF/parameters/power-settings"}],"system":{"waterPressureUri":"/system/water-pressure","gatewayUri":"/system/gateway","historyUri":"/system/errors/history","locationUri":"/system/location","connectionUri":"/system/gateway/connection","errorStatusUri":"/system/error-status","applianceTimeUri":"/system/appliance-time","flowTemperatureUri":"/system/flow-temperature","deviceInformationUri":"/system/device-information"}}
to set the temperature
PUT /v1.0/central-heating-zone/1E10FFFFFFFF010/setpoint/manual HTTP/1.1
Host: ruapi.remoteapp.bdrthermea.com
Connection: keep-alive
Content-Length: 32
Accept: application/json, text/plain, */*
X-Bdr-Pairing-Token: ther large code
Authorization: Basic cnVhcHA6V25AW1tjJF1QfjghM2AoW35BZiUnSDI/bEh3XWNpaXE6cn1MT3pqTGsueTVNSCtfcT0=
Content-Type: application/json;charset=UTF-8
X-Requested-With: com.bdrthermea.roomunitapplication.baxi
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Accept-Encoding: gzip, deflate
Accept-Language: ca-ES,ca;q=0.9,en-US;q=0.8,en;q=0.7
{"roomTemperatureSetpoint":20.5}
HTTP/1.1 204 No Content
Date: Thu, 02 Dec 2021 21:00:51 GMT
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: *, amdatu_token