Hi everyone,
If you’ve moved your Raspberry Pi 5 (or any HAOS box) from an SD card to an NVMe SSD, you know the one thing the SD card never gave you: an early warning. SD cards tend to just die, silently. NVMe SSDs expose their health via SMART – wear, temperature, data written (TBW), spare, media errors – so you can actually see the end coming and swap the drive in time.
I couldn’t find a dead-simple, zero-config way to get those values into Home Assistant on HAOS (where HA Core has no raw access to /dev/nvme0), so I built a small add-on: NVMe SMART Monitor.
What it does
- Reads the NVMe SMART log on the host and publishes everything via MQTT discovery – the device and sensors appear automatically, no YAML or templating.
- ~10 sensors: wear (percentage_used), available spare, temperature, data written/read (TBW), power-on hours, power cycles, unsafe shutdowns, media errors – plus a “Problem” binary sensor with configurable thresholds, perfect for a single notification automation.
- Works with any NVMe SSD (the model is read live from the drive, nothing hardcoded).
- Multi-arch: aarch64 / amd64 / armv7 – so it also runs on x86 HAOS servers with an NVMe.
- Lightweight and minimal privileges (device mapping + SYS_RAWIO, no full access). Open source, MIT.
Install (it’s an add-on, so via a repository URL – not HACS)
- Install & start the official Mosquitto broker add-on (that’s the transport).
- Settings → Apps → ⋮ (top right) → Repositories → add:
GitHub - raspberry-tips/ha-addon-nvme-smart: Home Assistant add-on: NVMe SSD SMART/health monitoring for Raspberry Pi 5 (HAOS). By raspberry.tips. · GitHub - Install NVMe SMART Monitor, start it – the device + sensors show up under the MQTT integration within a few seconds.
Repo: https://github.com/raspberry-tips/ha-addon-nvme-smart
Full write-up (dashboard card + alert automation, with screenshots): Your SD Card Dies Silently – Monitor NVMe SSD Health in Home Assistant
Feedback, issues and PRs are very welcome – especially SMART logs from drives that report fields differently (cheap DRAM-less ones sometimes skip a field, e.g. power_on_hours stays 0). Hope it saves someone a dead boot drive!




