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.

MetricConfig keyDefault
CPU loadcpu_loadenabled
CPU temperaturecpu_tempenabled
Used disk spaceused_spaceenabled
Used disk space on extra paths/drivesused_space_pathsdisabled
Memory usagememoryenabled
Uptime (timestamp)uptimeenabled
Uptime (seconds)uptime_secondsdisabled
Network data sent/receivednet_ioenabled
Swap usageswapdisabled
CPU clock speedsys_clock_speeddisabled
CPU voltagevoltagedisabled
WiFi signal quality (%)wifi_signaldisabled
WiFi signal strength (dBm)wifi_signal_dbmdisabled
Local IPv4 addresslocal_ipv4disabled
Local IPv6 addresslocal_ipv6disabled
External IPv4 addressexternal_ipv4disabled
External IPv6 addressexternal_ipv6disabled
RPi 5 fan speedrpi5_fan_speeddisabled
RPi power/throttle statusrpi_power_statusdisabled
HDD/SSD temperaturedrive_tempsdisabled
SSD SMART statusssd_healthdisabled
SSD wear / life used (%)ssd_healthdisabled
SSD power-on hoursssd_healthdisabled
SSD data written (TB)ssd_healthdisabled
APT updates availableapt_updatesdisabled
Intel GPU render busy (%)intel_gpu_renderdisabled
Intel GPU video busy (%)intel_gpu_videodisabled
Intel GPU frequency (MHz)intel_gpu_freqdisabled
Intel GPU power (W)intel_gpu_powerdisabled
NVIDIA GPU utilization (%)nvidia_gpu_utildisabled
NVIDIA GPU memory (%)nvidia_gpu_memdisabled
NVIDIA GPU frequency (MHz)nvidia_gpu_freqdisabled
NVIDIA GPU power (W)nvidia_gpu_powerdisabled
NVIDIA GPU temperature (°C)nvidia_gpu_tempdisabled
AMD GPU utilization (%)amd_gpu_utildisabled
AMD GPU memory (%)amd_gpu_memdisabled
AMD GPU frequency (MHz)amd_gpu_freqdisabled
AMD GPU power (W)amd_gpu_powerdisabled
AMD GPU temperature (°C)amd_gpu_tempdisabled
Script update availablegit_updateenabled
External sensorsext_sensorsdisabled

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 pynvml library (nvidia-ml-py) and the NVIDIA driver — no root required.
  • AMD reads sysfs (/sys/class/drm, in-kernel amdgpu driver) 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 a Vcore reading from hwmon (lm-sensors), which requires a supported Super-I/O driver — install lm-sensors and run sensors-detect; if sensors then shows a Vcore line 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 misleading 0 V); either disable voltage or set use_availability = True for an explicit "unavailable" state in Home Assistant.

SSD health. The installer autodetects non-rotating drives (NVMe and SATA SSDs) and offers to install smartmontools and enable the ssd_health sensors.

  • smartctl needs root, so values populate when running as the systemd service, or in cron mode via the passwordless sudoers drop-in the installer adds for smartctl.
  • 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).