Conky: inxi --disk --verbosity=3 gives too much information

It’s system specific, and you have to correlate some things manually.

Find your sensors.

sensors
amdgpu-pci-0100
Adapter: PCI adapter
vddgfx:        1.11 V  
fan1:        2328 RPM  (min =    0 RPM, max = 3600 RPM)
edge:         +56.0°C  (crit = +94.0°C, hyst = -273.1°C)
power1:       52.19 W  (cap =  70.00 W)

coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +67.0°C  (high = +82.0°C, crit = +100.0°C)
Core 0:        +65.0°C  (high = +82.0°C, crit = +100.0°C)
Core 1:        +64.0°C  (high = +82.0°C, crit = +100.0°C)
Core 2:        +67.0°C  (high = +82.0°C, crit = +100.0°C)
Core 3:        +67.0°C  (high = +82.0°C, crit = +100.0°C)
Core 4:        +64.0°C  (high = +82.0°C, crit = +100.0°C)
Core 5:        +64.0°C  (high = +82.0°C, crit = +100.0°C)

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +27.8°C  (crit = +119.0°C)
temp2:        +29.8°C  (crit = +119.0°C)

nct6793-isa-0290
Adapter: ISA adapter
CPU Core Voltage:           1.22 V  (min =  +0.00 V, max =  +1.42 V)
ATX +5 V Voltage:           5.04 V  (min =  +4.76 V, max =  +5.24 V)
AVCC Analog Voltage:        3.41 V  (min =  +3.14 V, max =  +3.47 V)
ATX +3.3 V Voltage:         3.34 V  (min =  +3.14 V, max =  +3.47 V)
ATX +12 V Voltage:         12.00 V  (min = +11.42 V, max = +12.58 V)
CPU Graphics Voltage:       0.00 V  (min =  +0.00 V, max =  +1.42 V)
3VSB Standby Voltage:       3.41 V  (min =  +3.14 V, max =  +3.47 V)
CMOS Battery Voltage:       3.14 V  (min =  +2.00 V, max =  +3.41 V)
CPU Sustain Voltage:        1.02 V  (min =  +0.95 V, max =  +1.05 V)
DRAM Voltage:               1.36 V  (min =  +0.00 V, max =  +1.50 V)
CPU System Agent Voltage:   1.24 V  (min =  +1.00 V, max =  +1.35 V)
PCH Core Voltage:           1.02 V  (min =  +0.95 V, max =  +1.05 V)
CPU IO Voltage:             1.23 V  (min =  +0.90 V, max =  +1.25 V)
CHA_FAN1:                 1064 RPM  (min =    0 RPM)
CPU_FAN:                  2631 RPM  (min =    0 RPM)
M_2_FAN:                     0 RPM  (min =    0 RPM)
AIO_PUMP:                 1427 RPM  (min =    0 RPM)
CHA_FAN2:                 1146 RPM  (min =    0 RPM)
Motherboard Temp.:         +32.0°C  (high = +98.0°C, hyst = +95.0°C)  sensor = thermistor
CPU Temperature:           +68.0°C  (high = +98.0°C, hyst = +95.0°C)
                                    (crit = +100.0°C)

nvme-pci-0500
Adapter: PCI adapter
Composite:    +37.9°C  (low  = -273.1°C, high = +83.8°C)
                       (crit = +83.8°C)
Sensor 1:     +37.9°C  (low  = -273.1°C, high = +65261.8°C)
Sensor 2:     +41.9°C  (low  = -273.1°C, high = +65261.8°C)

Get your hwmon directories:

ls -la /sys/class/hwmon
total 0
drwxr-xr-x  2 root root 0 Aug 21 17:24 .
drwxr-xr-x 65 root root 0 Aug 21 17:24 ..
lrwxrwxrwx  1 root root 0 Aug 21 17:24 hwmon0 -> ../../devices/virtual/thermal/thermal_zone0/hwmon0
lrwxrwxrwx  1 root root 0 Aug 21 17:24 hwmon1 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/hwmon/hwmon1
lrwxrwxrwx  1 root root 0 Aug 21 17:24 hwmon2 -> ../../devices/platform/coretemp.0/hwmon/hwmon2
lrwxrwxrwx  1 root root 0 Aug 21 17:24 hwmon3 -> ../../devices/platform/nct6775.656/hwmon/hwmon3
lrwxrwxrwx  1 root root 0 Aug 21 17:24 hwmon4 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/hwmon/hwmon4

Find your names:

cd /sys/class/hwmon/hwmon1

cat name
nvme

That’s how this is done:

Repeat for all temps/sensors you want.

Note: conky’s hwmon only accepts /sys/class/hwmon/hwmon*/temp(x)_input labels.you’ll have to do a bit of research to see what label you want to use is actually measuring.

2 Likes

sensors is only recently showing drive temps, and only for some, it’s very inconsistent.

Just to avoid confusion: -v/–verbosity is a line trigger, not an extra data trigger (-x/–extra [number]) it’s generally useful to look at at least the help menu before making stuff up to tell inxi to do, because all it can do is what you tell it. Line triggers tell inxi which lines to show, and what form of those lines (disk and cpu have short forms which you see in -b, for example, but users can only trip some of those short forms, like memory reports, otherwise it’s automatic). Extra data triggers tell inxi how much information to show per line / item, the sequence being: -x/ -xx /-xxx/ -a.

I wouldn’t use -a with -D for a standard repeating output because it’s very cpu intensive to run that, unless it’s only running once. Executing inxi repeatedly on a timer is not unlike going to your corner store in a tank or freight train, it’s not generally what you want. inxi is designed to grab all the ram and cpu it can to execute as quickly as possible but that results in high ram/cpu use as it executes. -Da also will try to run smartctl which requires sudo or root as well, so it’s not really worth it in many cases. -a options are super verbose, and usually are more information than average users need to see.

For hddtemp I’d do exactly what the man/help say, enable hddtemp in /etc/sudoers for your user name, then run: inxi -Dx

Or find another less cpu intensive way to get the info if it’s getting it repeatedly, script it, whatever.

I’ve only seen one system so far where all the drives showed their temps in sensors, and that was running high end parts with the 5.8 kernel, whereas hddtemp tends to pretty much always work if there are sensors it can get data from on the drive.

I’ve noticed that quite often when someone here posts some inxi options and uses several long form options needlessly, they are almost always wrong, or redundant, or whatever, most normal inxi actions are things you can trigger with single letter options, it’s only the more arcane features that require long options.

For instance:

inxi --full --verbosity 7 --nohost --filter is exactly equal to inxi -zv7 (-z trips --no-host unless told not to, and having -z trip that was in fact a Manjaro support request, --full is -F which has less data than -v7). --admin -xxx is the same as -a (-a trips -xxx). inxi -FGSA is the same as -F. And so on…

–extra [number] is easiest written -x or -xx or -xxx.

1 Like

Thanks for the valuable input; this was most enlighting:

Note: As an ex-developer and an ex-SysEng of multiple *nix dialects, I always use the --long version of CLI parameters instead of the -s ones as code gets written only once, but gets read many times so I prefer clarity over brevity.

:crazy_face: :stuck_out_tongue_winking_eye:

1 Like

Agreed re code clarity over brevity, if anything is a testament to that, it’s inxi, lol… but it’s important to use the right long forms. One big change of 3.x inxi rewrite was actually being able to use long options at all in any sane way, and for me, their main utility is explaining in a word or words what the short option actually does. For your purposes then you’d have wanted (unless you don’t care what the width is, or the width defaults to correct): [note that I have already configured hddtemp in /etc/sudoers]:

inxi --disk --extra 1 --width
# same as inxi -Dxy
Drives:
  Local Storage: total: 2.89 TiB used: 1.47 TiB (51.0%) 
  ID-1: /dev/sda vendor: Intel model: SSDSC2BW180A4 size: 167.68 GiB 
  ID-2: /dev/sdb vendor: Western Digital model: WD1003FZEX-00MK2A0 
  size: 931.51 GiB temp: 36 C 
  ID-3: /dev/sdc vendor: Western Digital model: WD1001FALS-00E8B0 
  size: 931.51 GiB temp: 43 C 
  ID-4: /dev/sdd vendor: Crucial model: CT1000MX500SSD4 size: 931.51 GiB 
  temp: 48 C

note that --width/-y with no numeric value sets width to 80 columns, same as -y 80

For conqi, which I don’t use, for some people, this format might be of interest:

inxi --disk --extra 1 --width 1
# same as inxi -Dxy1
Drives:
  Local Storage: 
    total: 2.89 TiB
    used: 1.47 TiB (51.0%)
  ID-1: /dev/sda
    vendor: Intel
    model: SSDSC2BW180A4
    size: 167.68 GiB
  ID-2: /dev/sdb
    vendor: Western Digital
    model: WD1003FZEX-00MK2A0
    size: 931.51 GiB
    temp: 36 C
  ID-3: /dev/sdc
    vendor: Western Digital
    model: WD1001FALS-00E8B0
    size: 931.51 GiB
    temp: 43 C
  ID-4: /dev/sdd
    vendor: Crucial
    model: CT1000MX500SSD4
    size: 931.51 GiB
    temp: 47 C

inxi 3.1.06 has introduced internally the sensors data structures which will eventually allow inxi to use /sys temp data for disks if it’s present and can be matched to the actual disk location.

You can see, if you have 3.1.06, what that data is so far assuming lm-sensors is installed, like so:

inxi -s --dbg 18

This is an internal refactor which lays the ground work for both lm-sensors modularized temp sensors and an eventual attempt to bypass lm-sensors altogether and just use /sys data directly, but that’s a lot of work and I’d personally rather leave it to the lm-sensors guys to pull that data together into their evolving output formats.

It’s reasonably complicated however matching the direct /sys sensors data from either /sys or ‘sensors’ output to the actual drives, it’s a several step process, which is why I did not get that into 3.1.06, I need a lot more data from new 5.7 and 5.8 kernels before I can try to find standard rules that will usually work.

1 Like

Nice. works well here.
(besides my uncooperative mobo … but gpu temp + looks fine)

A bluetooth/NFC temperature sensor for the body which gives signals to conky… Manjaro goes IoT.

${color}SSD ${goto 25} ${hddtemp /dev/sdc}ºC${color gray40}${if_match ${fs_used_perc}>=75}${color lightsalmon}${endif}${if_match ${fs_used_perc}>=85}${color red}${endif}${alignr }${fs_bar 6,140}${font }

This is one line - dull grey, with a warning colour for 75, then 85%

Ouch - cannot embed image???

2 Likes

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.