Saltar al contenido

Refrigerador inteligente con ESPHome y Home Assistant

09/04/2023
Refrigerador inteligente monitorizado con ESP8266, dos sondas DS18B20 y sensores de puerta

En calidad de Afiliado de Amazon, obtengo ingresos por las compras adscritas que cumplen los requisitos aplicables. Si compras desde estos enlaces, el precio para ti es el mismo y Amazon me paga una pequeña comisión que ayuda a mantener Tecnoyfoto.

Actualizado el 6 de agosto de 2026 · Configuración migrada a one_wire y dallas_temp, con cableado, alertas y seguridad revisados.

Un refrigerador inteligente no tiene por qué ser un electrodoméstico nuevo ni depender de la nube del fabricante. Con un ESP8266, dos sondas DS18B20 y dos contactos magnéticos puedes ver la temperatura del refrigerador y del congelador, saber si una puerta queda abierta y recibir avisos en Home Assistant. Todo funciona de forma local con ESPHome.

Esta guía actualiza el montaje original y corrige dos puntos importantes: la antigua plataforma dallas ya no es la sintaxis vigente y el bus 1-Wire necesita una resistencia pull-up de aproximadamente 4,7 kΩ. También evitaremos lecturas cada segundo, corregiremos las entidades del panel y añadiremos alertas que esperan antes de avisar para reducir falsas alarmas.

OFERTAS · TIENDA OFICIAL

Descuentos en domótica SONOFF

Interruptores WiFi, relés, sensores, tiras LED y más. Las promociones cambian con frecuencia en la tienda oficial.

Cupón: TECNOYFOTO (10% de descuento al pagar)

Ver ofertas oficiales Enlace de afiliado · Tienda Sonoff

Qué puede hacer este refrigerador inteligente

  • Medir por separado la temperatura del refrigerador y del congelador.
  • Mostrar si cada puerta está abierta o cerrada.
  • Guardar históricos para detectar ciclos anómalos o una avería.
  • Avisar si una puerta permanece abierta o la temperatura supera un umbral durante varios minutos.
  • Mantener los datos dentro de la red local mediante la API nativa de ESPHome.

El sistema solo monitoriza: no interviene en el termostato ni gobierna el compresor. Por tanto, instalarlo no reduce por sí mismo el consumo eléctrico. El ahorro puede llegar si una alerta permite cerrar una puerta, corregir un ajuste o detectar un fallo antes de perder alimentos.

Componentes necesarios

Conviene que la placa, la fuente y todas las uniones queden fuera del electrodoméstico. Dentro solo deben entrar las sondas y, si procede, el cable fino de los contactos. No perfores las paredes: pueden contener tuberías de refrigerante, cableado o aislamiento. Pasa los cables por la junta sin deformarla y comprueba que la puerta sigue cerrando herméticamente.

Cableado correcto del DS18B20 y las puertas

ElementoESP8266Conexión
DS18B20 VCC, ambos3V3Alimentación de tres hilos
DS18B20 GND, ambosGNDMasa común
DS18B20 DATA, ambosGPIO14 / D5Los dos sensores comparten el bus
Resistencia 4,7 kΩ3V3 ↔ GPIO14Pull-up obligatoria del bus 1-Wire
Contacto puerta refrigeradorGPIO4 / D2 ↔ GNDEntrada con pull-up interno
Contacto puerta congeladorGPIO5 / D1 ↔ GNDEntrada con pull-up interno

La resistencia es una sola para todo el bus, colocada entre 3,3 V y la línea DATA. Es el elemento que faltaba en el esquema antiguo. La documentación de 1-Wire de ESPHome recomienda aproximadamente 4,7 kΩ. Si usas cables largos o aparecen desconexiones, revisa primero alimentación, empalmes, masa y topología.

Cómo encontrar las direcciones de las dos sondas

Cada DS18B20 tiene una dirección única. Carga primero esta configuración mínima, abre los registros de ESPHome y anota las dos direcciones detectadas:

one_wire:
  - platform: gpio
    pin: GPIO14

Después identifica cuál está en cada compartimento: sujeta una sonda unos segundos con la mano y observa cuál cambia. Es preferible usar las direcciones en el YAML; seleccionar por índice puede intercambiar los nombres si sustituyes o añades sensores.

YAML completo y actual de ESPHome

Sustituye las dos direcciones de ejemplo por las que aparezcan en tus registros. Este archivo usa la plataforma actual dallas_temp, API cifrada, credenciales en secrets.yaml, OTA protegida y una lectura cada 60 segundos, suficiente para la inercia térmica de un refrigerador.

substitutions:
  device_name: "refrigerador-inteligente"
  friendly_name: "Refrigerador inteligente"

esphome:
  name: ${device_name}
  friendly_name: ${friendly_name}

esp8266:
  board: d1_mini

logger:

api:
  encryption:
    key: !secret api_encryption_key

ota:
  - platform: esphome
    password: !secret ota_password

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: "Refrigerador Fallback"
    password: !secret fallback_password

captive_portal:

one_wire:
  - platform: gpio
    pin: GPIO14

sensor:
  - platform: dallas_temp
    address: 0x1234567812345628
    name: "Temperatura refrigerador"
    id: temperatura_refrigerador
    update_interval: 60s
    accuracy_decimals: 1
    device_class: temperature
    state_class: measurement

  - platform: dallas_temp
    address: 0xABCDEF0123456728
    name: "Temperatura congelador"
    id: temperatura_congelador
    update_interval: 60s
    accuracy_decimals: 1
    device_class: temperature
    state_class: measurement

binary_sensor:
  - platform: gpio
    name: "Puerta refrigerador"
    id: puerta_refrigerador
    device_class: door
    pin:
      number: GPIO4
      mode:
        input: true
        pullup: true
      inverted: true
    filters:
      - delayed_on_off: 50ms

  - platform: gpio
    name: "Puerta congelador"
    id: puerta_congelador
    device_class: door
    pin:
      number: GPIO5
      mode:
        input: true
        pullup: true
      inverted: true
    filters:
      - delayed_on_off: 50ms

Guarda wifi_ssid, wifi_password, api_encryption_key, ota_password y fallback_password en secrets.yaml. Nuestra guía de WiFi seguro en ESPHome explica la estructura completa. Si tu placa no es una D1 mini, cambia board y confirma el pinout antes de compilar.

Por qué ya no se usa la plataforma dallas

La configuración antigua declaraba un bloque dallas: y sensores con platform: dallas. En la documentación vigente el bus se configura con one_wire y cada sonda con platform: dallas_temp. Copiar el fragmento anterior provoca errores en versiones modernas de ESPHome.

También se ha cambiado update_interval: 1s por 60 segundos. La temperatura del aire junto a una sonda puede oscilar al abrir la puerta o arrancar el compresor; diez o sesenta lecturas por minuto no hacen el sistema más exacto y sí generan más tráfico e historial.

Colocación de las sondas y los contactos

  1. Fija cada sonda sin que toque directamente una pared, evaporador o salida de aire.
  2. Evita zonas que reciban aire caliente cada vez que se abre la puerta si quieres una tendencia estable.
  3. Coloca el imán y el reed switch alineados cuando la puerta esté completamente cerrada.
  4. Prueba varias aperturas y cierres antes de pegar definitivamente los sensores.
  5. Protege empalmes y metal expuesto frente a condensación, siempre fuera de la zona de alimentos cuando sea posible.

Un vaso pequeño con agua puede amortiguar cambios muy rápidos en la sonda del refrigerador, pero aumenta el tiempo de respuesta. Para empezar, compara ambos sensores con un termómetro fiable y deja estabilizar el montaje durante varias horas.

Integración y panel de Home Assistant

Cuando el nodo aparezca en la integración ESPHome, tendrás dos entidades de temperatura y dos sensores binarios de puerta. Este panel del proyecto original muestra de un vistazo los dos compartimentos y el estado de las puertas:

Panel de Home Assistant con las temperaturas del refrigerador y congelador y el estado de ambas puertas
Panel original de Home Assistant con temperatura y apertura de puertas.

Una tarjeta sencilla y resistente a cambios de interfaz es la de entidades. Ajusta los identificadores a los creados en tu instalación:

type: entities
title: Refrigerador inteligente
show_header_toggle: false
entities:
  - entity: sensor.temperatura_refrigerador
    name: Refrigerador
  - entity: sensor.temperatura_congelador
    name: Congelador
  - entity: binary_sensor.puerta_refrigerador
    name: Puerta del refrigerador
  - entity: binary_sensor.puerta_congelador
    name: Puerta del congelador

Aviso si una puerta queda abierta

Notificar cada apertura sería molesto. Esta automatización espera dos minutos y solo avisa si la puerta continúa abierta. Sustituye el servicio del teléfono y los entity ID:

alias: Refrigerador - puerta abierta demasiado tiempo
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.puerta_refrigerador
      - binary_sensor.puerta_congelador
    to: "on"
    for: "00:02:00"
actions:
  - action: notify.mobile_app_tu_telefono
    data:
      title: "Puerta del refrigerador"
      message: >-
        {{ trigger.to_state.name }} lleva abierta más de dos minutos.
mode: parallel
max: 2

El filtro de 50 ms del ESPHome elimina rebotes eléctricos breves; el retraso de dos minutos de Home Assistant responde a una necesidad distinta: decidir cuándo una apertura normal se convierte en un aviso.

Alerta por temperatura alta

Como referencia general, AESAN indica mantener el frigorífico por debajo de 4 °C y el congelador a −18 °C. La ubicación de la sonda, los ciclos del compresor y una apertura pueden producir picos, así que el ejemplo utiliza un margen y exige 15 minutos continuos. No utilices una sola lectura doméstica para decidir si un alimento es seguro.

alias: Refrigerador - temperatura demasiado alta
triggers:
  - trigger: numeric_state
    entity_id: sensor.temperatura_refrigerador
    above: 6
    for: "00:15:00"
    id: refrigerador
  - trigger: numeric_state
    entity_id: sensor.temperatura_congelador
    above: -15
    for: "00:15:00"
    id: congelador
actions:
  - action: notify.mobile_app_tu_telefono
    data:
      title: "Revisa el refrigerador"
      message: >-
        La temperatura de {{ trigger.to_state.name }} es
        {{ trigger.to_state.state }} °C y lleva 15 minutos alta.
mode: single

Prueba la automatización y adapta umbrales y tiempos al comportamiento real del aparato. Los temporizadores definidos con for se reinician si Home Assistant se reinicia o se recargan las automatizaciones; para una garantía más estricta conviene guardar el instante de inicio en un ayudante.

Problemas frecuentes

ProblemaQué revisar
No aparecen sondas 1-WireResistencia de 4Enlace de afiliado,7 kΩ, alimentación a 3,3 V, masa común, GPIO14 y empalmes.
Una sonda muestra 85 °C o valores imposiblesAlimentación, cable y conexión intermitente; no ocultes el fallo con una automatización.
Las puertas aparecen al revésElimina o añade inverted: true según el contacto utilizado.
La puerta cambia varias vecesAlinea imán y reed switch; aumenta ligeramente delayed_on_off.
Temperaturas muy variablesCambia la posición de la sonda y analiza ciclos completos, no una lectura aislada.
WiFi inestableDeja el ESP fuera del recinto metálico y revisa cobertura y alimentación.

Qué aporta frente a otras soluciones

Muchas guías se limitan a una sonda, usan configuraciones antiguas o dependen de servicios externos. El montaje de DigiKey resuelve muy bien el paso de un cable plano por la junta, mientras que otros proyectos se centran solo en gráficas. Aquí reunimos dos temperaturas, dos puertas, funcionamiento local, YAML actual y alertas con demora en un único nodo.

Si solo quieres temperatura y no puedes llevar alimentación hasta el electrodoméstico, un sensor Zigbee o Bluetooth puede ser más sencillo. Si quieres puertas, dos compartimentos y control total de las alertas, ESPHome ofrece más flexibilidad. Este proyecto monitoriza un refrigerador existente; no sustituye sus protecciones internas ni debe controlar directamente el compresor.

Vídeo del montaje original

El vídeo conserva la instalación física y el resultado en Home Assistant. Para el firmware utiliza el YAML actualizado de esta página, no el antiguo bloque dallas.

Fuentes y documentación comprobada

Preguntas frecuentes

¿Puedo conectar dos DS18B20 al mismo GPIO?

Sí. 1-Wire permite compartir DATA, 3,3 V y GND. Cada sonda se diferencia por su dirección y el bus utiliza una sola resistencia pull-up de aproximadamente 4,7 kΩ.

¿Debo introducir el ESP8266 dentro del refrigerador?

No. Déjalo fuera para evitar humedad, frío y pérdida de señal dentro del recinto metálico. Introduce únicamente las sondas y los cables necesarios sin dañar la junta.

¿El sistema controla el compresor?

No, y esa separación es intencionada. Supervisa temperaturas y puertas y envía avisos, pero no modifica los controles de seguridad del electrodoméstico.

¿Puedo usar un ESP32?

Sí. Cambia el bloque de placa y elige tres GPIO adecuados: uno bidireccional para 1-Wire y dos entradas para los contactos. No copies los pines del ESP8266 sin comprobar el pinout del modelo concreto.

Con el cableado correcto y alertas bien ajustadas, un refrigerador corriente gana las funciones más útiles de un modelo conectado sin entregar sus datos a una nube: historial, puertas y avisos locales antes de que un pequeño problema pase desapercibido.

Continúa leyendo

Siguiente guía relacionada · 7 min de lectura

DS18B20 con ESP8266 y ESPHome: guía One-Wire actualizada

Actualizado el 2 de agosto de 2026. El DS18B20 con ESP8266 y ESPHome es una combinación sencilla y fiable para medir temperatura en Home…

Continuar con este artículo