
1 – Integración en Home Assistant
1.1 – Código Home Assistant
Código «Configuration.yaml»
climate:
- platform: mqtt
name: Salón
modes:
- "off"
- "heat"
- "auto"
temperature_command_topic: "home/thermostat_baxi_connect/current_setpoint/set"
temperature_state_topic: "home/thermostat_baxi_connect/current_setpoint"
temperature_state_template: "{{ value_json|float }}"
current_temperature_topic: "home/thermostat_baxi_connect/current_temperature"
current_temperature_template: "{{ value_json|float }}"
mode_state_topic: "home/thermostat_baxi_connect/mode_filtered"
temperature_unit: c
max_temp: 30
min_temp: 15
temp_step: 0.5
retain: 1
sensor:
- platform: mqtt
name: "Baxi thermostat current mode"
state_topic: "home/thermostat_baxi_connect/mode"
#value_template: "{{ value_json }}"
icon: mdi:calendar-blank-multiple
- platform: mqtt
name: "Baxi thermostat current temperature"
state_topic: "home/thermostat_baxi_connect/current_temperature"
value_template: "{{ value_json|float }}"
unit_of_measurement: 'ºC'
icon: mdi:thermometer
- platform: mqtt
name: "Baxi thermostat current setpoint"
state_topic: "home/thermostat_baxi_connect/current_setpoint"
value_template: "{{ value_json|float }}"
unit_of_measurement: 'ºC'
icon: mdi:thermometer-plus
- platform: mqtt
name: "Baxi thermostat water preassure"
state_topic: "home/thermostat_baxi_connect/water_preassure"
value_template: "{{ value_json|float }}"
unit_of_measurement: 'bar'
icon: mdi:speedometer
- platform: mqtt
name: "Baxi thermostat flow temperature"
state_topic: "home/thermostat_baxi_connect/flow_temperature"
value_template: "{{ value_json|float }}"
unit_of_measurement: 'ºC'
icon: mdi:thermometer-chevron-up
- platform: mqtt
name: "Baxi thermostat current errors"
state_topic: "home/thermostat_baxi_connect/current_errors"
icon: mdi:alert-circle-outline
- platform: mqtt
name: "Baxi thermostat next switch Time"
state_topic: "home/thermostat_baxi_connect/schedule/next_switch/time"
icon: mdi:calendar-clock
- platform: mqtt
name: "Baxi thermostat next switch Setpoint"
state_topic: "home/thermostat_baxi_connect/schedule/next_switch/setpoint"
unit_of_measurement: 'ºC'
icon: mdi:thermometer-plus
- platform: mqtt
name: "Baxi thermostat program"
state_topic: "home/thermostat_baxi_connect/schedule/program"
icon: mdi:calendar-month
Código Lovelace:
- cards:
- entity: climate.salon
type: thermostat
- type: entities
entities:
- entity: sensor.baxi_thermostat_current_mode
- entity: sensor.baxi_thermostat_water_preassure
- entity: sensor.baxi_thermostat_flow_temperature
- entity: sensor.baxi_thermostat_current_errors
- entity: sensor.baxi_thermostat_program
- entity: sensor.baxi_thermostat_next_switch_time
- entity: sensor.baxi_thermostat_next_switch_setpoint
state_color: true
header:
type: buttons
entities:
- entity: script.baxi_thermotat_manually_status_update
name: Refresh
type: vertical-stack
Este es el resultado:

1.2 – Node-Red (Addon de Home Assistant)
Código completo Node-Red: aquí.
1.2.1 – Autenticación.

Selecciona la función «POST» y escribe tus credenciales de la aplicaciónde Baxi. Luego, cuenta los caracteres que hay en ese payload incluyendo los caracteres «{» y «}». Al guardar, hacer un Deploy y luego pulsar en el cuadrado del primer bloque llamado «Read». En la pestaña Debug dben aparecer tus datos personales.

1.2.2 – Pairing.
Hay que emparejar esta integración como si fuera un dispositivo nuevo, por lo tanto necesitarás obtener un código del termostato Baxi, igual que si emparejaras un móvil. Usa ese código de nueve cifras en la función «POST Pairing», y vuelve a incluir tu usuario y contraseña de Baxi Connect.

Al pulsar en «Read», en la pestaña de Debug debe aparecer un código muy largo que luego usaremos en todas las funciones. Este código es el más importante.

1.2.3 – Resto de funciones
El código de emparejamiento obtenido anteriormente hay que ponerlo en todas las funciones marcadas a continuación:

El código obtenido hay que ponerlo en la cabecera de todas las funciones GET y PUT, tal y como aparece aquí:

Tengo configurado un refresco de 10 minutos. Es recomendable que el refresco no sea muy continuado para no saturar el servidor.
Comentarios