Hey everyone,
I originally started this project about 5-6 years ago and shared it here a couple of years back. It’s a Python script for monitoring Raspberry Pi system stats and sending them to Home Assistant.
Recently, I’ve put a ton of work into expanding it. I wanted to re-share it because it is no longer just for Raspberry Pis. If you run Home Assistant (or other services) on a Linux Mini-PC, NUC or old laptop, this is now a lightweight, highly automated way to monitor those systems too.
Link to GitHub: rpi-mqtt-monitor
Link to Documentation
What it does: It runs as a background service on your Linux machine, gathers system health metrics, and publishes them to your MQTT broker. It fully supports MQTT Auto-Discovery, meaning you just run the script and the device/sensors automatically populate in Home Assistant with zero manual HA configuration.
What’s new in the recent updates:
- x86 / Mini-PC Support: It now properly monitors CPU voltage on non-Pi hosts via
hwmon. - GPU Monitoring: Native, rootless sensor tracking for NVIDIA, AMD, and Intel GPUs (Utilization, VRAM, Power, Temp).
- SSD Health: Autodetects drives and tracks SMART data like wear/life used (%), power-on hours, and Terabytes Written for both NVMe and SATA drives.
- Display Control: It creates buttons right inside HA to turn attached monitors on or off (supports X11, wlroots, vcgencmd, and ddcutil).
- Interactive Configurator: I added a Terminal UI (
rpi-mqtt-monitor -c) so you can easily edit the config using arrow keys instead of messing with a text editor. - Advanced MQTT: Now supports MQTT over TLS/SSL and WebSockets.
- Multiple Drives & IPs: Track free space across multiple mount paths and monitor local/external IP changes.
Easy Installation: There is a one-line automated setup script that handles dependencies, detects your hardware (GPUs, SSDs, Displays), and sets up the systemd service for you.
Here is what the auto-discovered device looks like in Home Assistant:
Here is how the new config. tool looks:
I'd love for you to give it a try. Feedback, bug reports, and pull requests are always welcome!

