selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

rpi-mqtt-monitor logo

Self-host rpi-mqtt-monitor

1.4.3

System health monitor for Raspberry Pi and Linux with MQTT

ReleaseOpen SourceGPL-3.0
Updated4 months ago
LanguagePython
Setup difficultyModerate
Stars
328
Install with Linux
Raspberry Pi MQTT Monitor main view showing system metricsInteractive TUI configurator for editing config.pyAuto-created Home Assistant device with sensors and controlsHome Assistant dashboard with Raspberry Pi MQTT Monitor sensors

What is rpi-mqtt-monitor?

Raspberry Pi MQTT Monitor is a Python-based system monitoring daemon that collects detailed hardware metrics — CPU load, temperature, frequency, voltage, memory, disk usage, network I/O, GPU stats (Intel, NVIDIA, AMD), SSD health via SMART, and external sensors (DS18B20, SHT21) — and publishes them to an MQTT broker or directly to the Home Assistant REST API. It features zero-config Home Assistant integration via MQTT discovery, remote control buttons (restart, shutdown, update) in the HA UI, custom script execution, and multi-language support. Installation is automated via a one-line script that sets up a Python virtual environment, installs dependencies, and configures a systemd service or scheduled job. The project is licensed under GPL-3.0 and runs on any Linux system, not just Raspberry Pi.

Should you self-host rpi-mqtt-monitor?

rpi-mqtt-monitor scores 51/100 on selfhost.directory (how scoring works) and ranks #58 of 104 in Monitoring & observability. It has 328 GitHub stars.

It shipped 8 stable releases in the past year. The latest, 1.4.3, came out on 18 June 2026. New versions land roughly every 1 days.

Setup is moderate: expect some configuration beyond a single command. It is GPL-3.0-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is grafana (90/100, 77 568 stars). It scores higher overall, so compare the two before you pick. See rpi-mqtt-monitor vs grafana side by side.

Features

  • Comprehensive system metrics
  • Custom script execution
  • Display control
  • Easy updates
  • External sensor support
  • Flexible delivery
  • Interactive TUI configurator
  • Multi-language Support
  • Sensor availability
  • Service or cron operation
  • Wake-on-LAN integration

rpi-mqtt-monitor README

How to install rpi-mqtt-monitor

Install rpi-mqtt-monitor with Linux

Installs dependencies (git, python3, pip, paho-mqtt, requests, psutil), creates Python virtual environment (rpi_mon_env), prompts for MQTT config, sets up systemd service or cron job

How to configure rpi-mqtt-monitor

  • custom_scriptsAdd buttons to HA that run custom scripts/programs on the host

    Add buttons to HA that run custom scripts/programs on the host

  • discovery_messagesTruePublish HA auto-discovery config messages

    Publish HA auto-discovery config messages

    values: true, false

  • display_controlAdd display on/off buttons to HA

    Add display on/off buttons to HA

    values: true, false

  • display_off_commandCustom command for display off

    Custom command for display off

  • display_on_commandCustom command for display on

    Custom command for display on

  • group_messagesSend all values as a single CSV message (disables discovery)

    Send all values as a single CSV message (disables discovery)

    values: true, false

  • ha_device_nameOverride hostname as the HA device name

    Override hostname as the HA device name

  • hass_hostHome Assistant API URL

    Home Assistant API URL

  • hass_tokenHome Assistant long-lived token

    Home Assistant long-lived token

  • languageenUI language

    UI language

    values: en, de, fr, bg

  • mqtt_discovery_prefixhomeassistantHA discovery prefix

    HA discovery prefix

  • mqtt_hostMQTT broker address

    MQTT broker address

  • mqtt_passwordMQTT password

    MQTT password

  • mqtt_port1883MQTT port

    MQTT port

    values: 1883, 8883 for TLS

  • mqtt_tlsEnable TLS/SSL for the MQTT connection

    Enable TLS/SSL for the MQTT connection

    values: true, false

  • mqtt_tls_ca_certsOptional CA file for a self-signed broker cert

    Optional CA file for a self-signed broker cert

  • mqtt_tls_insecureSkip cert verification

    Skip cert verification

    values: true, false

  • mqtt_topic_prefixrpi-MQTT-monitorTopic prefix

    Topic prefix

  • mqtt_uns_structureOptional UNS prefix prepended to all topics

    Optional UNS prefix prepended to all topics

  • mqtt_userMQTT username

    MQTT username

  • mqtt_websocket_pathWebSocket URL path

    WebSocket URL path

  • mqtt_websocketsConnect over MQTT-over-WebSockets

    Connect over MQTT-over-WebSockets

    values: true, false

  • qosMQTT QoS level

    MQTT QoS level

    values: 0, 1, 2

  • restart_buttonAdd a restart button to HA

    Add a restart button to HA

    values: true, false

  • retainSet MQTT retain flag on published messages

    Set MQTT retain flag on published messages

    values: true, false

  • service_sleep_timeSeconds between readings when running as a service

    Seconds between readings when running as a service

  • shutdown_buttonAdd a shutdown button to HA

    Add a shutdown button to HA

    values: true, false

  • update_check_interval3600Seconds between update checks

    Seconds between update checks

  • use_availabilityMark sensors unavailable in HA on read failure

    Mark sensors unavailable in HA on read failure

    values: true, false

rpi-mqtt-monitor releases & version history

More in Monitoring & observability

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…