I have a PC (Asus Transformer 3 Pro T303UA) where I am trying to monitor the temperature of various devices (using conky). But on some boot-ups hwmon5
is the WiFi device and hwmon6
is the CPU but on other boot-ups it's reversed (hwmon5
is the CPU and hwmon6
is the WiFi).
So if I setup monitoring to look at CPU cores hwmon5 temp 2
and hwmon5 temp 3
when hwmon5
is the CPU that works and is correct, but if hwmon5
changes to be the wifi device then there is no temp 2
or temp 3
so the monitoring fails.
Does anyone know why this one PC seems to change it's devices around (none of my other PCs seem to do this) and if I can stop it from happening or get all the temperatures some other way which will always be consistent?
Today hwmon6
is the cpu:
ls -la /sys/class/hwmon/
hwmon0 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/ACPI0003:00/power_supply/AC0/hwmon0
hwmon1 -> ../../devices/virtual/thermal/thermal_zone0/hwmon1
hwmon2 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/PNP0C0A:00/power_supply/BAT0/hwmon2
hwmon3 -> ../../devices/virtual/thermal/thermal_zone6/hwmon3
hwmon4 -> ../../devices/platform/asus-nb-wmi/hwmon/hwmon4
hwmon5 -> ../../devices/virtual/thermal/thermal_zone8/hwmon5
hwmon6 -> ../../devices/platform/coretemp.0/hwmon/hwmon6
From version 1.11.3 (feb 2019) of conky, you can now use the device name instead of a number. This searches in all the
/sys/class/hwmon/*/name
files for the name, and takes the first one that matches. So instead of${hwmon 5 temp 2}
you might be able to use, say,if coretemp is the string in
hwmon5/name
. Failing that, the simplest answer is to use a small script to edit your config file before starting conky as I don't think it will be easy to fix the order of discovery of these i2c devices. See also, thelm_sensors
package that can find sensor values for you.