| Crates.io | mqtt-system-monitor |
| lib.rs | mqtt-system-monitor |
| version | 1.2.0 |
| created_at | 2025-08-03 20:21:32.171867+00 |
| updated_at | 2025-08-09 17:26:41.918839+00 |
| description | Remote System Monitor for Home Assistant with MQTT. |
| homepage | https://github.com/guillaumecl/mqtt-system-monitor |
| repository | https://github.com/guillaumecl/mqtt-system-monitor |
| max_upload_size | |
| id | 1780082 |
| size | 75,233 |
mqtt-system-monitor is a small program that periodically sends reports with MQTT to Home Assistant.
flowchart TD
MQTT --> HA[Home Assistant]
Host1 -->|mqtt-system-monitor| MQTT
Host2 -->|mqtt-system-monitor| MQTT
The configuration file is /etc/mqtt-system-monitor.conf. The available configuration settings are:
log-verbosity: Log verbosity. Default = 2 (warning)
mqtt.hostname: hostname of the MQTT broker. localhost by defaultmqtt.port: port of the MQTT broker. 1883 by defaultmqtt.user: user for the MQTT broker connection. empty by defaultmqtt.password: password for the MQTT broker connection. empty by defaultmqtt.entity: Name of the device. Defaults to the hostname of the machine.mqtt.update-period: Frequency for polling and updates in seconds. 10 by defaultmqtt.registration-prefix: Prefix for the registration topic. homeassistant by default. This must match the discovery prefix set in the MQTT configuration.sensors.temperature: Temperature sensor to monitor. Example : coretemp Package id 0sensors.network: Network interface to monitor. Example : wlan0A systemd unit is provided. If used:
systemctl enable --now mqtt-system-monitor
The program can be run as a standalone program:
/usr/bin/mqtt-system-monitor
Returns ON (connected) as long as mqtt-system-monitor is running and OFF (disconnected) otherwise
Reports CPU Temperature in °C, if sensors.temperature is set
Reports the current total CPU usage in %.
Reports the current memory usage in %.
Reports the rate of outgoing data in KiB/s during the last mqtt.update-period seconds, if sensors.network is set.
Reports the rate of incoming data in KiB/s during the last mqtt.update-period seconds, if sensors.network is set.
Some code is based on https://github.com/cmargiotta/mqtt-system-monitor which has the same purpose, but I couldn't do what I wanted with just Lua scripts.