Aire Acondicionado Super Inteligente: Climatiza por Sensación Térmica en Home Assistant
¿Te ha pasado que el termostato marca 24°C pero sientes calor? Esto ocurre porque la temperatura real es solo una parte de la ecuación; la humedad juega un papel crucial en cómo percibimos el clima. En este artículo, vamos a llevar tu domótica al siguiente nivel: aprenderás a crear un termostato inteligente que no se basa en la temperatura del aire, sino en la sensación térmica, logrando un confort absoluto en tu hogar.
En YouTube comparto más tutoriales, pruebas y domótica real. Suscribirme

Vídeo relacionado en YouTube
Video1. El Concepto: Temperatura vs. Sensación Térmica
La sensación térmica es lo que realmente siente nuestro cuerpo. Si hay mucha humedad, el sudor no se evapora y sentimos más calor del que marca el termómetro. Home Assistant nos permite calcular este índice (Heat Index) de forma automática para tomar mejores decisiones de climatización.
Requisitos Previos
- Un sensor de temperatura y humedad (recomendado Zigbee como los de Sonoff de Amazon o Aliexpress).
- Un emisor de infrarrojos si tu aire no es inteligente (como el Broadlink o un TADO).
2. Visualización: Comfortable Environment Card
Antes de automatizar, vamos a visualizar el nivel de confort. Para ello, instalaremos una tarjeta espectacular desde HACS:
- Busca e instala:
Comfortable Environment Card. - Añádela a tu Dashboard vinculando tus sensores de temperatura y humedad.
- Resultado: Verás de forma gráfica si tu ambiente es "confortable", "demasiado húmedo" o "muy seco".
3. Creación del Termostato Basado en Plantillas
Para que el aire acondicionado actúe según la sensación térmica, necesitamos una integración que nos permita crear un "clima virtual". Usaremos Template Climate.
Paso 1: Instalar Template Climate
Desde HACS, añade el siguiente repositorio personalizado: https://github.com/jcwillox/hass-template-climate
Paso 2: Configuración del código
Debes añadir la lógica en tu configuration.yaml. Aquí tienes el esquema básico:
Sensor de sensación térmica y de confort:
template:
- sensor:
- name: "Sensación Térmica HACS"
unique_id: sensacion_termica_hacs
unit_of_measurement: "°C"
state: >
{% set T = (states('sensor.termostato_calefaccion') | float(0) * 9 / 5) + 32 %}
{% set RH = states('sensor.termometro_multimedia_humidity') | float(0) %}
{% set simple_HI = 0.5 * (T + 61.0 + ((T - 68.0) * 1.2) + (RH * 0.094)) %}
{% if simple_HI >= 80.0 %}
{% set HI = -42.379
+ 2.04901523 * T
+ 10.14333127 * RH
- 0.22475541 * T * RH
- 0.00683783 * T * T
- 0.05481717 * RH * RH
+ 0.00122874 * T * T * RH
+ 0.00085282 * T * RH * RH
- 0.00000199 * T * T * RH * RH %}
{% if RH < 13.0 and T >= 80.0 and T <= 112.0 %}
{% set HI = HI - (((13.0 - RH) / 4.0) * (((17.0 - (T - 95.0) | abs) / 17.0) | sqrt)) %}
{% elif RH > 85.0 and T >= 80.0 and T <= 87.0 %}
{% set HI = HI + (((RH - 85.0) / 10.0) * ((87.0 - T) / 5.0)) %}
{% endif %}
{% else %}
{% set HI = simple_HI %}
{% endif %}
{{ ((HI - 32) * 5 / 9) | round(1) }}
- name: "Confort Térmico"
unique_id: confort_termico
unit_of_measurement: "°C"
state: >
{% set tempInC = states('sensor.termostato_calefaccion') | float(0) %}
{% set humValue = states('sensor.termometro_multimedia_humidity') | float(0) %}
{% set confort = tempInC - (0.55 * (1 - 0.01 * humValue) * (tempInC - 14.5)) %}
{{ confort | round(2) }}Termostato que funciona basado en la sensación térmica:
climate:
- platform: climate_template
name: "Aire Acondicionado Salón (Sensación térmica)"
unique_id: aire_acondicionado_salon_sensacion_termica
modes:
- "off"
- "cool"
min_temp: 18
max_temp: 30
precision: 0.5
temp_step: 0.5
hvac_mode_template: "{{ states('climate.aire_acondicionado') }}"
current_temperature_template: >
{{ states('sensor.sensacion_termica') | float(0) }}
target_temperature_template: >
{% set target_real = state_attr('climate.aire_acondicionado', 'temperature') | float(24) %}
{% set temp_real = state_attr('climate.aire_acondicionado', 'current_temperature') | float(0) %}
{% set sensacion = states('sensor.sensacion_termica') | float(0) %}
{{ target_real - (temp_real - sensacion) }}
set_hvac_mode:
- action: climate.set_hvac_mode
target:
entity_id: climate.aire_acondicionado
data:
hvac_mode: "{{ hvac_mode }}"
set_temperature:
- action: climate.set_temperature
target:
entity_id: climate.aire_acondicionado
data:
temperature: >
{% set temp_real = state_attr('climate.aire_acondicionado', 'current_temperature') | float(0) %}
{% set sensacion = states('sensor.sensacion_termica') | float(0) %}
{{ temperature + (temp_real - sensacion) }}Nota: Tienes todos los códigos detallados y listos para copiar en mi Gist de GitHub.
4. Control por Infrarrojos (Broadlink / Tado)
Si tu aire acondicionado es antiguo y usas un emisor IR, este termostato virtual enviará las señales de "Encender" o "Apagar" a tu Broadlink cuando la sensación térmica supere el umbral que tú definas. Es la forma más barata y eficiente de convertir un aire viejo en uno de última generación.
Conclusión
Automatizar por sensación térmica no es solo un capricho tecnológico, es optimizar el uso de la energía y mejorar tu bienestar diario. Al final, lo que buscamos no es que el termómetro marque un número, sino sentirnos bien en nuestra propia casa.
Recursos útiles para tu proyecto:
- ¿Dudas? Únete a la comunidad en Telegram.
¡No olvides suscribirte a YouTube HectorziN para más trucos que hacen tu casa realmente inteligente!

