¿Alguna vez se te corrompió una microSD en pleno proyecto, sin ningún aviso? Es de las fallas más frustrantes del mundo maker: la tarjeta funciona perfecto… hasta que un día simplemente no arranca más. Si montaste tu Home Assistant sobre un Raspberry Pi 5 con una SSD NVMe, tienes una ventaja enorme que la microSD nunca te dio: la SSD te informa su estado de salud en tiempo real mediante SMART. desgaste, temperatura, datos escritos y errores. .
En esta guía vas a instalar un add on gratuito que lleva esos valores directo a Home Assistant y te avisa al celular antes de que la SSD colapse. Al terminar vas a tener un panel con el desgaste de tu disco y una alerta automática funcionando, sin escribir una sola línea de YAML de sensores a mano.
Qué es SMART (y por qué tu microSD nunca lo tuvo)
SMART (Self Monitoring, Analysis and Reporting Technology) es un sistema de autovigilancia que las SSD modernas traen de fábrica. A través del protocolo NVMe, la SSD reporta indicadores como el desgaste (percentage_used), la cantidad de datos ya escritos (TBW), la reserva disponible (available_spare), la temperatura y contadores de error.
Acá está la diferencia técnica que casi nadie explica: una microSD de consumo básicamente no expone valores de salud legibles. Su controlador hace wear leveling interno para repartir la escritura entre celdas, pero no publica esos contadores hacia afuera. no hay un canal estándar tipo SMART que puedas consultar. . Por eso una microSD "muere en silencio": cuando notas el problema, ya es tarde. Una NVMe, en cambio, te deja ver venir el desgaste y reaccionar a tiempo.

Lo que vas a necesitar
- Raspberry Pi 5 con Home Assistant OS (HAOS) corriendo desde una SSD NVMe (lo normal en un Pi 5 con base M.2). El add on también funciona en servidores HA x86 con NVMe.
- Una base M.2 HAT que conecte la SSD NVMe al puerto PCIe del Pi 5.
- El add on oficial "Mosquitto broker", porque los datos de los sensores viajan por MQTT.
Si todavía no pasaste tu Pi 5 de la microSD a NVMe, este proyecto es una razón más para hacerlo: ganas velocidad y esta vigilancia de salud que antes no existía.
Paso 1: Instala el broker MQTT
El add on reporta los valores SMART a Home Assistant vía MQTT, así que primero necesitas un broker. En Home Assistant ve a Ajustes → Complementos (la "tienda de add ons"), busca "Mosquitto broker", instálalo e inícialo. Home Assistant configura la integración MQTT automáticamente después.

Paso 2: Agrega el repositorio raspberry.tips
Ahora sumamos el repositorio del add on. En Ajustes → Complementos, arriba a la derecha, entra en ⋮ → Repositorios y pega esta URL:
https://github.com/raspberry-tips/ha-addon-nvme-smart

Al agregarlo, aparece en la tienda una nueva sección "raspberry.tips Home Assistant Add ons" con el NVMe SMART Monitor.

Paso 3: Instala y arranca el add on
Abre el NVMe SMART Monitor y haz clic en Instalar. El contenedor se compila localmente (demora 2 a 4 minutos).

Luego inícialo. Te recomiendo activar "Iniciar al arrancar el sistema" y "Watchdog" para que la vigilancia esté siempre corriendo. Las opciones por defecto (dispositivo /dev/nvme0, intervalo de 300 s, umbrales de alerta) sirven para la mayoría; las encuentras en la pestaña Configuración.

Para confirmar que todo funciona, mira la pestaña Registro: deberían aparecer líneas como MQTT broker found, Device detected: … y State published: ….

Cómo funciona por dentro: el add on lee los valores de salud con nvme smart-log, los convierte a unidades útiles (temperatura en °C, TBW en GB) y los publica por MQTT Discovery. Gracias a eso, Home Assistant reconoce los sensores solo. no configuras nada a mano. .
Cómo interpretar cada sensor
Unos segundos después del arranque, en Ajustes → Dispositivos y servicios aparece un dispositivo nuevo dentro de la integración MQTT, nombrado según el modelo de tu SSD. Estos son los valores clave y cómo leerlos:
| Sensor | Qué significa / señal de alarma |
|---|---|
NVMe Verschleiss. desgaste (percentage_used) |
La barra de vida útil. 0 % = como nueva, 100 % = fin calculado. Sube lento, a lo largo de años. |
NVMe Reserve. reserva (available_spare) |
Bloques de reserva. Si cae hacia el umbral (a menudo 10 %), toca cambiar el disco. |
| NVMe geschrieben. datos escritos (TBW) | Total de datos escritos, comparable con la endurance (TBW) que declara el fabricante. |
| NVMe Temperatur. temperatura | Temperatura de operación. Sobre 70 °C de forma permanente conviene refrigerar. |
| NVMe Medienfehler. errores de medio | Siempre debería ser 0. Si sube, es una señal de alarma seria. |
| NVMe Problem | Sensor binario: se pone en "On" ante un estado crítico o cuando se cruza un umbral. Ideal para automatizaciones. |
Desgaste vs. reserva vs. TBW: tres miradas independientes
Vale la pena entender por qué el add on entrega varios indicadores en vez de uno solo, porque se complementan:
percentage_usedes una estimación del propio controlador sobre cuánta vida gastaste. Es el número "resumen".available_sparemide algo distinto: los bloques de repuesto que la SSD usa para reemplazar celdas que fallan. Puede desplomarse aunquepercentage_usedtodavía se vea bien. por eso lo vigilas aparte. .- TBW (datos escritos) te deja hacer la cuenta tú mismo. Ejemplo real: una Intenso Premium de 250 GB está especificada en 150 TBW. Si tras varias semanas de HAOS 24/7 llevas 56 GB escritos y 0 % de desgaste, proyectando a 20 GB de escritura por día, esa SSD rinde más de 20 años en el papel.
Con percentage_used y TBW tienes dos miradas independientes a la vida útil restante. algo que con una microSD sencillamente no existe. .
¿NVMe muy caliente? Si el sensor de temperatura marca valores altos de forma permanente (referencia: sobre 70 °C), conviene un disipador M.2 pequeño. En la caja del Pi 5 es clave que sea lo más plano posible (del orden de 5 mm), o no cierra la tapa: mide antes el espacio libre sobre la SSD. Para el tamaño 2280 sirve un disipador plano; para SSD más cortas hay versiones 2242 y 2230.
Paso 4: Arma el dashboard con el medidor de desgaste
Ahora hagamos visibles los valores. Abre tu dashboard, ve a Editar → Agregar tarjeta → Manual y pega esta tarjeta. El add on asigna IDs de entity fijas (por ejemplo sensor.nvme_percentage_used), así que el YAML funciona directo por copiar y pegar; si ves IDs distintas, las encuentras en la página del dispositivo:
type: grid
columns: 2
cards:
- type: gauge
entity: sensor.nvme_percentage_used
name: Verschleiß
min: 0
max: 100
needle: true
severity: {green: 0, yellow: 70, red: 90}
- type: gauge
entity: sensor.nvme_temperature
name: Temperatur
min: 20
max: 80
needle: true
severity: {green: 0, yellow: 60, red: 70}
- type: gauge
entity: sensor.nvme_available_spare
name: Reserve
min: 0
max: 100
- type: entity
entity: sensor.nvme_data_written
name: Geschrieben (TBW)
Un detalle: los campos name: (Verschleiß = Desgaste, Temperatur = Temperatura, Reserve = Reserva, Geschrieben = Escritos) son solo etiquetas visibles. Puedes cambiarlas al español sin afectar el funcionamiento. lo que nunca debes tocar son las entity:, que son los identificadores reales de los sensores. .

Paso 5: Crea la alerta automática
Acá está lo bueno: que Home Assistant te avise solo apenas algo ande mal. Para eso usamos el sensor Problem. Ve a Ajustes → Automatizaciones y escenas → Crear automatización → Editar en YAML y pega:
alias: NVMe-SSD Warnung
triggers:
- trigger: state
entity_id: binary_sensor.nvme_problem
to: "on"
actions:
- action: notify.notify
data:
title: "⚠️ NVMe-SSD-Warnung"
message: >-
Die NVMe meldet ein Problem – Verschleiß {{ states('sensor.nvme_percentage_used') }} %,
Temp {{ states('sensor.nvme_temperature') }} °C, Reserve {{ states('sensor.nvme_available_spare') }} %.
mode: single
Igual que antes, title: y message: son texto que puedes traducir al español sin romper nada. Lo que queda intocable son las plantillas {{ states('sensor.nvme_percentage_used') }}, porque referencian entidades reales.

Desde ahora recibes una notificación push al celular apenas tu SSD entre en estado crítico. mucho antes de que arriesgues perder datos. .
Límites honestos
- SMART no es una bola de cristal: ve venir sobre todo el desgaste paulatino (reserva, TBW,
percentage_used). Una falla electrónica repentina no siempre se puede predecir. el respaldo sigue siendo obligatorio. . - Las SSD DRAM less económicas a veces no reportan todos los campos (por ejemplo
power_on_hoursqueda en 0). Es normal, no es un defecto. - Las microSD de consumo prácticamente no ofrecen SMART legible; justamente por eso la NVMe es tan superior para un servidor que corre 24/7.
Variantes y mejoras
Cuando ya tengas la base andando, puedes llevar el proyecto más lejos:
- Alerta por Telegram, no solo push local. Reemplaza
notify.notifypor tu servicio de Telegram (notify.telegram) en la automatización, e incluye el modelo del disco y el porcentaje de desgaste en el mensaje. Así te enteras aunque estés fuera de la red local. - Panel Lovelace dedicado a la salud del sistema. Crea una vista aparte que junte los gauges de la SSD con la temperatura de la CPU del Pi 5 y el uso de RAM. De un vistazo ves la salud completa del servidor que sostiene tu domótica.
- Historial de largo plazo con InfluxDB + Grafana. Envía
percentage_usedy TBW a InfluxDB y grafícalos en Grafana. Con meses de datos puedes extrapolar la fecha estimada de reemplazo en vez de esperar el umbral. - Varios discos a la vez. Si tienes más de una unidad NVMe (por ejemplo en un servidor x86), levanta una instancia del add on por dispositivo (
/dev/nvme0,/dev/nvme1) y agrupa todo en el mismo dashboard.
Personalización para Chile
Nota honesta de disponibilidad: al día de hoy, el Raspberry Pi 5, las SSD NVMe M.2 y las bases M.2 HAT no forman parte del catálogo de MechatronicStore, así que este proyecto no lleva enlaces de producto directos. preferimos no ofrecerte un "equivalente" que en realidad no sirve para este montaje. .
Un par de advertencias útiles al comprar en Chile:
- No sustituyas el Pi 5 por un Pi 4 para este tutorial: el Pi 4 no tiene el carril PCIe que la base M.2 HAT necesita para la NVMe. Son plataformas distintas.
- La microSD no reemplaza a la NVMe acá: es exactamente el componente que estamos dejando atrás (justo porque no expone SMART).
- Al elegir el disipador M.2, fíjate en la altura: en la caja del Pi 5 debe ser plano (≈5 mm) y del largo correcto (2280, 2242 o 2230 según tu SSD).
Como referencia de presupuesto, un set típico (Pi 5, SSD NVMe de ~250 GB, base M.2 HAT y disipador) ronda los $140.000 CLP según importador y tienda. En MechatronicStore sí encuentras placas Raspberry Pi y accesorios de refrigeración para armar el resto de tu setup.
Recursos
- Tutorial original (alemán): NVMe SSD-Gesundheit in Home Assistant überwachen
- Repositorio GitHub del add on: ha addon-nvme smart
- Documentación adicional: MQTT Discovery en Home Assistant · nvme cli
Versión chilena, inspirada en el tutorial de Philipp Schweizer (raspberry.tips), reescrita con contexto local.




