What Gets Monitored
Each metric maps to a config key in src/config.py. Toggle them on or off to
control which sensors are published to Home Assistant.
| Metric | Config key | Default |
|---|---|---|
| CPU load | cpu_load | enabled |
| CPU temperature | cpu_temp | enabled |
| Used disk space | used_space | enabled |
| Used disk space on extra paths/drives | used_space_paths | disabled |
| Memory usage | memory | enabled |
| Uptime (timestamp) | uptime | enabled |
| Uptime (seconds) | uptime_seconds | disabled |
| Network data sent/received | net_io | enabled |
| Swap usage | swap | disabled |
| CPU clock speed | sys_clock_speed | disabled |
| CPU voltage | voltage | disabled |
| WiFi signal quality (%) | wifi_signal | disabled |
| WiFi signal strength (dBm) | wifi_signal_dbm | disabled |
| Local IPv4 address | local_ipv4 | disabled |
| Local IPv6 address | local_ipv6 | disabled |
| External IPv4 address | external_ipv4 | disabled |
| External IPv6 address | external_ipv6 | disabled |
| RPi 5 fan speed | rpi5_fan_speed | disabled |
| RPi power/throttle status | rpi_power_status | disabled |
| HDD/SSD temperature | drive_temps | disabled |
| SSD SMART status | ssd_health | disabled |
| SSD wear / life used (%) | ssd_health | disabled |
| SSD power-on hours | ssd_health | disabled |
| SSD data written (TB) | ssd_health | disabled |
| APT updates available | apt_updates | disabled |
| Intel GPU render busy (%) | intel_gpu_render | disabled |
| Intel GPU video busy (%) | intel_gpu_video | disabled |
| Intel GPU frequency (MHz) | intel_gpu_freq | disabled |
| Intel GPU power (W) | intel_gpu_power | disabled |
| NVIDIA GPU utilization (%) | nvidia_gpu_util | disabled |
| NVIDIA GPU memory (%) | nvidia_gpu_mem | disabled |
| NVIDIA GPU frequency (MHz) | nvidia_gpu_freq | disabled |
| NVIDIA GPU power (W) | nvidia_gpu_power | disabled |
| NVIDIA GPU temperature (°C) | nvidia_gpu_temp | disabled |
| AMD GPU utilization (%) | amd_gpu_util | disabled |
| AMD GPU memory (%) | amd_gpu_mem | disabled |
| AMD GPU frequency (MHz) | amd_gpu_freq | disabled |
| AMD GPU power (W) | amd_gpu_power | disabled |
| AMD GPU temperature (°C) | amd_gpu_temp | disabled |
| Script update available | git_update | enabled |
| External sensors | ext_sensors | disabled |
GPU sensors. The installer autodetects your GPU vendor and enables the matching sensors.
- Intel uses
intel-gpu-tools(intel_gpu_top); it requires root, so values only populate when running as the systemd service.- NVIDIA uses the native
pynvmllibrary (nvidia-ml-py) and the NVIDIA driver — no root required.- AMD reads
sysfs(/sys/class/drm, in-kernelamdgpudriver) with no extra tools — no root required.
CPU voltage. On a Raspberry Pi this reads
vcgencmd measure_volts. On other hosts (e.g. x86 / Ubuntu) it falls back to aVcorereading fromhwmon(lm-sensors), which requires a supported Super-I/O driver — installlm-sensorsand runsensors-detect; ifsensorsthen shows aVcoreline it is picked up automatically. Many x86 boxes (especially no-name mini-PCs) have no Super-I/O voltage chip at all, so CPU voltage is simply unavailable there. In that case the sensor reports no value (rather than a misleading0 V); either disablevoltageor setuse_availability = Truefor an explicit "unavailable" state in Home Assistant.
SSD health. The installer autodetects non-rotating drives (NVMe and SATA SSDs) and offers to install
smartmontoolsand enable thessd_healthsensors.
smartctlneeds root, so values populate when running as the systemd service, or in cron mode via the passwordlesssudoersdrop-in the installer adds forsmartctl.- NVMe metrics come from the uniform SMART health log; SATA wear and data-written are read from the vendor attribute table and are best-effort (they vary by manufacturer).
Raspberry Pi MQTT Monitor
GitHub ↗